[分享]文字替换
支持 TEXT和MTEXT,如果要查找的文字为 "" 会把新的文字加在开头只替换文字中子文字,不是替换掉整个文字
为什么不直接用CAD的FIND命令呢? 下载下来学习一下感谢楼主分享 Thanks for sharing ^^ 可以加个对话框呀 块中的文字好象不能替换吧?
在acad2002中试用了一下你给的程序,要查找的字串:gherthger fder
请输入要查找的文字:er
请输入新的文字:dfser
结果应该为:ghdfserthgdfser fddfser
但实际结果为:ghdfsdfsdfsdfserthger fder
程序节选:
(repeat typeA-len ;问题应该在这个循环条件的设置
(setq char-aa (substr typeA n char-Alen))<BR> ;查找选择的文字内容里是否有要被替换的文字<BR> (if (= char-aa char-A)<BR> (progn ;如果有<BR> (setq typeA (vl-string-subst char-B char-A typeA))<BR> (setq newsize (cons 1 typeA))<BR> (setq ent (subst newsize (assoc 1 ent) ent))<BR> (entmod ent)<BR> (setq pc (1+ pc))<BR> )<BR> ;;End progn<BR> )<BR> ;;End if<BR> (setq n (1+ n))<BR> ) 我自己也写了一个,功能上和楼主差不多,就是增加了选择区域的功能,并且增加了对话框。
不好意思,上面的程序在未输入替换文字的情况下结束对话框会出问题,这是我修改过的lsp文件。 不错,真是好东东! 如果能替换块中的文字就更好了。 谢谢楼主了