(defun abc (str / lst a b)
;; (abc "节点01") → ("节点" "01")
(setq lst (vl-string->list str ...
通常会有这几种情况、“节点011”、“节点-011”、“节点 011” 和“节点1.01” d1742647821 发表于 2023-3-7 12:02
我试了,把defun放前面不会报错
放前面也是报错的、我的源代码就是放前面的、只是偶尔会正常。正常的概率非常低 汉字是双子节,标点符号也是,有时substr把1汉字裁成两半就会出错 wzg356 发表于 2023-3-8 10:56
汉字是双子节,标点符号也是,有时substr把1汉字裁成两半就会出错
请教一下应该如何修改这个代码才能不报错了、以前没弄过这个东西、谢谢 xiaocainiao 发表于 2023-3-8 10:59
请教一下应该如何修改这个代码才能不报错了、以前没弄过这个东西、谢谢
substr之前先用vl-search……定位,手机回,记不得函数了,自己查 是不是那个系统变量的问题呀 xiaocainiao 发表于 2023-3-8 10:59
请教一下应该如何修改这个代码才能不报错了、以前没弄过这个东西、谢谢
最大毛病是不能那样简单转表倒置,比如177 188是一个汉字,倒过来188 177就不能转汉字—出错,相应substr裁剪位置也不能把汉字裁为两半 wzg356 发表于 2023-3-8 12:21
(defun aa(str / num n lst a)
(setq num "" n 0)
(setq lst(reverse(vl-string->list str)))
谢谢、我试一下 我的一段程序中的一部分,fontw是字符长度
(setq ct 0)
(setq j 1)
;判断包含英文字符个数
(repeat FontW
(if (< (ascii (substr txts j 1)) 127)
(setq ct (1+ ct))
)
(setq j (1+ j))
)
(setq tmp (substr txts 1 (- FontW (rem ct 2)))) ;含奇数英文字符则少取一位
(setq txts (substr txts (1+ (- FontW (rem ct 2))))) ;截取剩余字符
页:
1
[2]