如何提取括号内的字符串
如何提取括号内的字符串 <P>说具体些.</P> 思路:点取字符串:8989(3)提取字符中括号内的3,输入新值4,最后返回的字符串为:8989(4) (load "xyp_lib");|加载通用函数(可在签名栏直接下载)
如果已经下载xyp_lib并放到搜索路径下可以不再下载!
利用以下任何一种方式即可加载和运行通用函数内的所有子程序:
1.在acad.lsp中增加(load"xyp_lib")
2.在每个程序内增加(load"xyp_lib")
3.在command下,输入(load"xyp_lib")
4.在菜单.mnl中增加(load"xyp_lib")
5.将xyp_lib.vlx文件直接拽到cad屏幕
★通用函数下载地址:
http://www.xdcad.net/forum/attachment.php?s=&postid=1606661
http://bbs.mjtd.com/forum.php?mod=viewthread&tid=37554|;
;;;批量更换括号内的字符串:8989(3)→8989(新字符)
(defun c:test ()
(setq txt1 (USTR 1 "\n输入括号内新字符" txt1 nil)
ss (ssget '((0 . "TEXT")))
i -1
)
(while (setq s1 (ssname ss (setq i (1+ i))))
(setq txt (DXF 1 (entget s1))
n1(vl-string-search "(" txt)
n2(vl-string-search ")" txt)
)
(if (and n1 n2 (> n2 n1))
(progn (setq txt (strcat (substr txt 1 (+ n1 2))
txt1
")"
)
)
(SUB_UPD s1 1 txt)
)
(progn
(setq n1 (vl-string-search "(" txt)
n2 (vl-string-search ")" txt)
)
(if (and n1 n2 (> n2 n1))
(progn (setq txt (strcat (substr txt 1 (+ n1 1))
txt1
")"
)
)
(SUB_UPD s1 1 txt)
)
)
)
)
)
(princ)
) 老大,试用过了,有点小问题!如果括号内文字多于两个,则只能改最后一个字,其它的不会变 用app加载,不能用。。。提示的那几个方法不懂!!! 举例,好对症下药
页:
[1]