明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 2437|回复: 7

[讨论] [求助]如何按我的需要查找文字?

[复制链接]
发表于 2009-12-10 19:10:00 | 显示全部楼层 |阅读模式

在 CAD中查找文字,查找的要求是:

已知字符:A,B,  A和B为任意长度的字符

要求查找:包含  "A"+"n个字符"+"B"  组合的文字

其中,由用户输入n值,表示查找有不同数目的文字

举例说明:

字符"2E22;3E32",被我错误的写成了"2E122;3E32",

我为了找到有错误的文字,就要查找"E"和";"之间有3个字符的所有文字(因为正确的是"E"和";"之间只有2个字符"22")

请问:这样的查找能否实现?

请各位高手帮忙

谢谢

发表于 2009-12-10 21:26:00 | 显示全部楼层

获得"E"和";"之间有3 个数字字符的选择集(setq ss (ssget "X" '((0 . "TEXT") (1 . "*E###;*"))))

获得"E"和";"之间有3 个字符的选择集(setq ss (ssget "X" '((0 . "TEXT") (1 . "*E???;*"))))

发表于 2009-12-13 23:17:00 | 显示全部楼层

借用一下贵地请教一下Z版。我一个图档内N个TEXT文字分成N/2组,按如下排列:"A1-356-A"与"*A1-356-A*";"A1-356-B"与"*A1-356-B*";"A1-356-C"与"*A1-356-C*"。。。。所有得两个一组文字中,第一个文字和第二个文字的区别就在第二个文字头尾多了两个"*"出来.

现在我想用一个新文字段"D2-333"来取代"A1-356",其他的不变。我写一段程序可得出来不是我想要的。得到是只是"D2-333",后面序号ABCD等却没有.请问一下Z版要如何处理,还请指教一下.

  (Setq MOK "D2-333")
  (setq txt (SSGET "_X" '((0 . "text") (1 . "*A1-356*"))))
  (SETQ MO "*A1-356*")
  (Setq N 0)
  (REPEAT (Sslength TXT)
        (Setq MO-TXT (Entget (Ssname TXT N)))
        (Setq MO-TXT (Subst (Cons 1 MOK) (Assoc 1 MO-TXT) MO-TXT))
        (Entmod MO-TXT)
    (setq N (1+ N))
    )

发表于 2009-12-14 08:50:00 | 显示全部楼层

substr strcat 根据字符串长度截取字符,在与你新的字符串合并不就是你想要的字符了吗?

发表于 2009-12-14 14:15:00 | 显示全部楼层
aytxq发表于2009-12-13 23:17:00借用一下贵地请教一下Z版。我一个图档内N个TEXT文字分成N/2组,按如下排列:\"A1-356-A\"与\"*A1-356-A*\";\"A1-356-B\"与\"*A1-356-B*\";\"A1-356-C\"与\"*A1-356-C*\"。。。。所有得两个一组

将判断串改成"A1-356*",前面的"*"不要。

发表于 2009-12-14 14:28:00 | 显示全部楼层
如BZ所说的可行!
发表于 2009-12-14 23:44:00 | 显示全部楼层

z版,能否请你讲得详细一点。

我现在用是方法是把前后带*号和不带*号的文字用长度选择区分开再处理。

发表于 2011-6-22 11:10:57 | 显示全部楼层
这个好像有点复杂了吧~~~
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2025-6-10 04:26 , Processed in 0.154677 second(s), 25 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表