批量清除多行文本特性中内容里的文字样式
如图所示,可能是由其它软件生成的CAD图,打开后用ST命令修改文本样式不管用,发现特性中内容里多了一些类似{\fISOCPEUR|b0|i0|c0|p34;的前缀,把多行文本打散后这些前缀就消失了,但是多行文本中若有空格的话,经打散后的单行文本又不是一个整体了。。有什么办法解决一下呢? 本帖最后由 0000mj 于 2013-8-8 12:27 编辑论坛上有多行转单行的源码,搜索下
参考http://bbs.mjtd.com/forum.php?mod=viewthread&tid=57445 学习来,看看 0000mj 发表于 2013-8-8 12:22 static/image/common/back.gif
论坛上有多行转单行的源码,搜索下
参考http://bbs.mjtd.com/forum.php?mod=viewthread&tid=57445
没找到。。你发的链接里面也没有 梦里水香 发表于 2013-8-13 16:07 static/image/common/back.gif
没找到。。你发的链接里面也没有
一楼不是有程序么,稍微改改,enmake单行就可以了 0000mj 发表于 2013-8-13 16:45 static/image/common/back.gif
一楼不是有程序么,稍微改改,enmake单行就可以了
哦,谢谢了,我是初学的,看不是很懂,VLA甚至没看过,只会一点基础的LISP,在其它地方找到了一个程序解决了。 梦里水香 发表于 2013-8-13 23:50 static/image/common/back.gif
哦,谢谢了,我是初学的,看不是很懂,VLA甚至没看过,只会一点基础的LISP,在其它地方找到了一个程序解决 ...
找到个什么程序解决了啊 共享哈嘛
本帖最后由 llsheng_73 于 2015-8-7 17:50 编辑
(defun mtext2txt(s / ob)
(vlax-put-property(setq ob(vlax-create-object"Vbscript.RegExp"))"IgnoreCase"0)
(vlax-put-property ob "Global" 1)
(setq s(mapcar'(lambda(x y)(vlax-put-property ob"Pattern"x)(setq s(vlax-invoke-method ob"Replace"s y)))
'("\\\\\\\\""\\\\{""\\\\}""\\\\pi(.[^;]*);""\\\\pt(.[^;]*);""\\\\S(.[^;]*)(\\^|#|\\\\)(.[^;]*);"
"(\\\\F|\\\\f|\\\\C|\\\\H|\\\\T|\\\\Q|\\\\W|\\\\A)(.[^;]*);""(\\\\L|\\\\O|\\\\l|\\\\o)""\\\\~"
"\\\\P""\n""({|})""\\x01""\\x02""\\x03")(list(CHR 1)(CHR 2)(CHR 3)"""""""""""""""""""\\""{""}")))
(if ob(vlax-release-object ob))
(last s))
;;根据http://bbs.mjtd.com/forum.php?mod=viewthread&tid=57445改的,方法和字符集都是原帖子上的内容
下边示例也用原帖子的,结果是这个程序出来的
_$ (MTEXT2TXT"{\\C3;\\{明经通{\\fSimSun|b0|i0|c134|p2;道http://www.mjtd.com{\\C3]\\}}\\Lhttp://www.mjtd.com{\\C3;明经通道\\Lhttp{\\C1;://{\\C3;www}.mjtd.com}\\l是一个好网站啊,呵呵}\\l是{\\Ftxt.shx,gbcbig.shx|c134;一个好网站}啊,呵呵}
")
"{明经通道}http://www.mjtd.com明经通道http://www.mjtd.com是一个好网站啊,呵呵是一个好网站啊,呵呵"
_$ llsheng_73 长老:
(mtext2txt "\\A1;{\\fArial|b0|i0|c0|p32;m\\H0.7x;\\S3^;}")得到是m\S3^;而非m3呀!
llsheng_73 发表于 2015-8-7 17:47 static/image/common/back.gif
;;根据http://bbs.mjtd.com/forum.php?mod=viewthread&tid=57445改的,方法和字符集都是原帖子上的内容
下 ...
程序还需要增加对\\\\c 【真彩色】以及\\\\K \\\\k 【删除线】的处理
"(\\\\F|\\\\f|\\\\C|\\\\c|\\\\H|\\\\T|\\\\Q|\\\\W|\\\\A)(.[^;]*);"
"(\\\\L|\\\\O|\\\\K|\\\\l|\\\\o|\\\\k)"
页:
[1]
2