文本截取
我有好多文本,我想批量截除=后面的数值0.200*0.200*1+1.400*2.800*2=7.880
3.540*2.700*1=9.558
3.540+2.000=5.540
即截除后显示为
0.200*0.200*1+1.400*2.800*2
3.540*2.700*1
3.540+2.000
可以用substr截取 (setq str "3.540+2.001=5.540")
(vl-string-right-trim (substr str (1+ (vl-string-search "=" str))) str) 黄老师:我想通过lisp实现,附件我上传了。 yamjqq 发表于 2015-7-13 21:49 static/image/common/back.gif
黄老师:我想通过lisp实现,附件我上传了。
谢谢大师指导
;=号字符串截除
;by edata @mjtd 2015-7-14
(defun sk_trim= (str /i a lst)
(setq i 0
lst '()
)
(while (and (setq a (substr str (setq i (1+ i)) 1)) (/= a "="))
(setq lst (cons a lst))
)
(setq lst (apply 'strcat (reverse lst)))
)
(defun c:tt(/ elist en ss str)
(if (setq ss(ssget '((0 . "*text"))))
(while(setq en(ssname ss 0))
(setq elist(entget en))
(setq str(sk_trim=(cdr(assoc 1 elist))))
(entmod(subst (cons 1 str)(assoc 1 elist) elist))
(setq ss(ssdel en ss))
)
)
(princ)
)
http://weibo.com/i/3537376384
页:
[1]