如何取得特定字符串?
请教大家一问题,我有一个字符串的组码如下((-1 . <图元名: 7efb2168>) (0 . "MTEXT") (330 . <图元名: 7efb0cf8>) (5 . "135")
(100 . "AcDbEntity") (67 . 0) (410 . "Model") (8 . "erpcode") (100 .
"AcDbMText") (10 1975.47 -308.216 0.0) (40 . 13.5) (41 . 288.0) (46 . 6.0) (71
. 5) (72 . 1) (1 . "{\\fNSimSun|b1|i1|c134|p49;\\W1;\\L1.02.0194}") (7 . "标准")
(210 0.0 0.0 1.0) (11 1.0 0.0 0.0) (42 . 86.044) (43 . 16.2) (50 . 0.0) (73 .
1) (44 . 1.0))
请问我怎么样最简便的取得红色字的字符串,即我要得到1.02.0194这几个字。谢谢大家,在线等。
已 \ } 分隔 成表 出去L. (ssget '((0 . "MTEXT")(1 . "*1.02.0194"))) 你是不是想获取带中文字体的多行文字的字符串内容啊,不知道我猜的对不对。(vl-load-com)
(setq obj (vlax-ename->vla-object (car (entsel "\n 请选择多行文字==>> "))))
(setq str (vla-get-textstring obj)) 命令: (setq txt1 "{\\fNSimSun|b1|i1|c134|p49;\\W1;\\L1.02.0194}")
"{\\fNSimSun|b1|i1|c134|p49;\\W1;\\L1.02.0194}"
命令: (setq n (vl-string-position (ascii "L") txt1))
31
命令: (setq txt2 (substr txt1 (+ 2 n)))
"1.02.0194}"
命令: (vl-string-right-trim "}" txt2 )
"1.02.0194"
怎么用,还是要看你的文字规律才行。。。 ZZXXQQ 发表于 2015-1-15 07:54 static/image/common/back.gif
(ssget '((0 . "MTEXT")(1 . "*1.02.0194")))
我的意思是红色字是要变的。只是格式一样, tgliu 发表于 2015-1-15 16:50 static/image/common/back.gif
我的意思是红色字是要变的。只是格式一样,
(ssget '((0 . "MTEXT") (1 . "*#.##.####"))) ;;http://bbs.mjtd.com/thread-108027-1-1.html
(setq txt1 "{\\fNSimSun|b1|i1|c134|p49;\\W1;\\L1.02.0194}")
(VL-STRING-RIGHT-TRIM "}" (last (parse3 txt1 "[^\\L]+")))=》"1.02.0194" 用正则表达吧,方便快捷,简单,通用性强 自贡黄明儒 发表于 2015-1-16 15:58 static/image/common/back.gif
;;http://bbs.mjtd.com/thread-108027-1-1.html
(setq txt1 "{\\fNSimSun|b1|i1|c134|p49;\\W1;\\L1.02.01 ...
谢谢太神,真是太好了
页:
[1]