明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 942|回复: 7

[已解答] 文本截取

[复制链接]
发表于 2015-7-13 11:19 | 显示全部楼层 |阅读模式
我有好多文本,我想批量截除=后面的数值
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
发表于 2015-7-13 13:08 | 显示全部楼层
可以用substr截取
发表于 2015-7-13 14:02 | 显示全部楼层
(setq str "3.540+2.001=5.540")
(vl-string-right-trim (substr str (1+ (vl-string-search "=" str))) str)
 楼主| 发表于 2015-7-13 21:49 | 显示全部楼层
黄老师:我想通过lisp实现,附件我上传了。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

x

点评

(substr str 1 (vl-string-search "=" str))  发表于 2015-7-13 22:12
发表于 2015-7-13 22:20 | 显示全部楼层
yamjqq 发表于 2015-7-13 21:49
黄老师:我想通过lisp实现,附件我上传了。



本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

x
 楼主| 发表于 2015-7-14 08:49 | 显示全部楼层
谢谢大师指导
发表于 2015-7-14 10:11 | 显示全部楼层
  1. ;=号字符串截除
  2. ;by edata @mjtd 2015-7-14
  3. (defun sk_trim= (str /  i a lst)
  4.   (setq        i   0
  5.         lst '()
  6.   )
  7.   (while (and (setq a (substr str (setq i (1+ i)) 1)) (/= a "="))
  8.     (setq lst (cons a lst))
  9.   )
  10.   (setq lst (apply 'strcat (reverse lst)))
  11. )
  12. (defun c:tt(/ elist en ss str)
  13.   (if (setq ss(ssget '((0 . "*text"))))
  14.     (while(setq en(ssname ss 0))
  15.       (setq elist(entget en))
  16.       (setq str(sk_trim=(cdr(assoc 1 elist))))
  17.       (entmod(subst (cons 1 str)(assoc 1 elist) elist))
  18.       (setq ss(ssdel en ss))
  19.       )
  20.     )
  21.   (princ)  
  22.   )
发表于 2015-7-14 12:09 | 显示全部楼层
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-3-29 08:02 , Processed in 0.173006 second(s), 30 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表