zzl9105 发表于 2018-5-23 09:32:28

substr能否实现从指定字符开始截取字符串么

如题,substr能否实现从指定字符开始截取字符串么,比如从D开始截取它后面的2位字符串。
它好像只能指定从第几个开始截取,或者有其它的函数能实现这个小要求么。
谢谢

Andyhon 发表于 2018-5-23 10:27:50

vl-string->list + member

zzl9105 发表于 2018-5-23 10:58:24

Andyhon 发表于 2018-5-23 10:27
vl-string->list + member

比如目标字符串为“32 D16”,其中D前面有一个空格,我要截取的是D后面的16,下面的表达对不,
(setq a "32 D16")
(vl-string->list a 5 2)
经测试,vl它没有返回想要的结果,谢谢

lostbalance 发表于 2018-5-23 13:42:42

本帖最后由 lostbalance 于 2018-5-24 10:00 编辑

(setq a "32 D16")
(vl-string->list a 5 2)

PS,如果是连D的位置也不确定的话,就要先确定D的位置,简单点,设一个计数i,然后用(wcmatch (substr a i) (strcat "D" "*")),来定位i
ps2,上面的vl-string->list错了应该是substr

edata 发表于 2018-5-23 13:55:52

(setq a "32 D16")
(setq nPos(vl-string-search "D" a))
(setq str (substr a (1+ nPos)))

Andyhon 发表于 2018-5-23 14:03:25

(read (vl-list->string (cdr (member 68 (vl-string->list a)))))

但此例用 Gu_xl的函式较切

lostbalance 发表于 2018-5-23 14:28:02

edata 发表于 2018-5-23 13:55


刚才死活没想起来vl-string-search:funk:
页: [1]
查看完整版本: substr能否实现从指定字符开始截取字符串么