截去某个字符后面的文字,留下前面的字符
各位大侠好,如题,不知道本论坛有没有现成的源码,
现在正在处理很多这样的字符串,
如下: N=45808,M=2547
我想把逗号","后面的字符全部去掉(含逗号),
为了方便进行计算。
这两天要急着出基础图,没有时间去琢磨自己编源码了,
希望哪位大侠帮帮忙,谢谢!!!
自贡黄明儒 发表于 2014-1-14 08:20
(atoi (VL-STRING-LEFT-TRIM "N=" "N=45808,M=2547"))=>45808
大师,你好
比如目标字符串为:“10 D16”,其中D前面有一个空格,我要截取的是“D”后面的16,下面的表达:
(setq a "10 D16")
(vl-string->list a 5 2)
经测试,vl它没有返回想要的结果,请教一下大儒,有什么好的式子么,谢谢!!! zzl9105 发表于 2018-5-23 12:09
大师,你好
比如目标字符串为:“10 D16”,其中D前面有一个空格,我要截取的是“D”后面的16,下面的表 ...
(VL-STRING-right-TRIM "0123456789" "10 D16")=>"10 D" 本帖最后由 llsheng_73 于 2014-1-14 15:12 编辑
_$ (setq str"N=45808,M=2547")
(vl-princ-to-string(cadr(read(strcat"("(vl-string-translate "=," ""str)")"))))
"N=45808,M=2547"
"45808"
_$
$ (setq str"N=45808,M=2547")
(cadr(read(strcat"("(vl-string-translate "=," ""str)")")))
"N=45808,M=2547"
45808
只要你有确保没有扩展ASCII字符或者中文在STR里边,可以放心用READ来读取
llsheng_73 发表于 2014-1-13 16:55 static/image/common/back.gif
(setq str"N=45808,M=2547")
(read(strcat"("(vl-string-translate "," " "str)")"))
其实,我只要“N=”后面的数字45808,
其它的都不要,
而且有好多这样的字符要处理的。
(defun tt (str / pos)
(setq pos (vl-string-position 61 str))
(substr str (+ pos 2) (1- (- (vl-string-position 44 str) pos)))
)
用这个试试 (atoi (VL-STRING-LEFT-TRIM "N=" "N=45808,M=2547"))=>45808 自贡黄明儒 发表于 2014-1-14 08:20 static/image/common/back.gif
(atoi (VL-STRING-LEFT-TRIM "N=" "N=45808,M=2547"))=>45808
这样也可以,真服了... 自贡黄明儒 发表于 2014-1-14 08:20 static/image/common/back.gif
(atoi (VL-STRING-LEFT-TRIM "N=" "N=45808,M=2547"))=>45808
谢谢,atoi,这么厉害,它自己知道只转换前面的整数?
谢谢你,黄大侠!!! 其实查找一下",M"这两个字符就好了啊 本帖最后由 lyqiezi 于 2014-1-18 17:29 编辑
献丑了,自己平时用的别的lsp改的,因为水瓶有限,所以源码就不放了
图层是根据ftarget文件的,如果文字的图层有什么要求,说了我再改吧