tc405003 发表于 2005-9-23 22:26:00

如何提取括号内的字符串

如何提取括号内的字符串

alin 发表于 2005-9-24 05:52:00

<P>说具体些.</P>

tc405003 发表于 2005-9-24 10:34:00

思路:点取字符串:8989(3)提取字符中括号内的3,输入新值4,最后返回的字符串为:8989(4)

xyp1964 发表于 2005-9-24 18:40:00

(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)
)

tc405003 发表于 2005-9-26 19:53:00

老大,试用过了,有点小问题!如果括号内文字多于两个,则只能改最后一个字,其它的不会变

无惢 发表于 2013-2-1 16:19:52

用app加载,不能用。。。提示的那几个方法不懂!!!

【KAIXIN】 发表于 2013-2-1 19:13:08

举例,好对症下药
页: [1]
查看完整版本: 如何提取括号内的字符串