找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 897|回复: 9

[求助] [求助]:在选择集中怎样过虑字符串

[复制链接]
发表于 2004-7-17 23:06:23 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
(prompt "选择对象")
(setq ss (ssget '((0 . "text,mtext"))))
  (setq i 0  )
  (repeat (sslength ss)
    (setq en (ssname ss i))
    (setq dat (atof (cdr (assoc 1 (entget en)))))
到这一步,怎样将不是纯数字的字串过虑出来并赋给变量dat1,当有N个时,构成一个表,过虑后,SS相当于减少了该对象,带负号的不过虑。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
发表于 2004-7-18 03:28:14 | 显示全部楼层
你是说字符串中含有多个数字的情况么?
可参照一下论坛以往有关 字符串提取数字 的程序。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2004-7-18 08:57:25 | 显示全部楼层
论坛以往的字符串提取数字,只能提取数字,但我现在要的是在选择集中,把不是纯数字组的对象,从选择集中分离出来,用到别的地方.
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 1915个

财富等级: 堆金积玉

发表于 2004-7-18 10:21:55 | 显示全部楼层
过滤条件可设为

  1.   [FONT=courier new]
  2. (setq ss2 (ssadd))
  3. (prompt "选择对象")
  4. (setq ss (ssget '((0 . "text,mtext"))))
  5. (setq i 0 )
  6. (repeat (sslength ss)
  7. (setq en (ssname ss i))
  8. (setq dat (cdr (assoc 1 (entget en))))
  9. (if (= (rtos (atof en)) dat)
  10.   (progn
  11.     (ssadd en ss2)
  12.   )
  13. )
  14. (setq i (1+ i))
  15. )
  16.   [/FONT]
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2004-7-18 10:37:50 | 显示全部楼层
最初由 CADABC 发布
[B]论坛以往的字符串提取数字,只能提取数字,但我现在要的是在选择集中,把不是纯数字组的对象,从选择集中分离出来,用到别的地方. [/B]


不是纯数字组的对象----最好能给个实例
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2004-7-18 11:29:32 | 显示全部楼层
用(setq dat (cdr (assoc 1 (entget en))))取得dat数据为:200 400 BB 300 1000 ......,我现在要  200 400 300 1000 ......进行数学四大运算,把BB提取出,作为判断条件,BB出现的位置不定,数值也不定,可能是-800*10 L20 [128 H584 等等
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2004-7-18 16:50:27 | 显示全部楼层
太多的限制
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2004-7-18 19:56:39 | 显示全部楼层
太不规律的东西,过滤出来的就不都是你想要的东西了
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2004-7-19 10:02:45 | 显示全部楼层
好解决。不过既然BB出现的位置不定,数值也不定,可能是-800*10 L20 [128 H584 ,那么请问提取出的BB在后续程序中还有用吗,如果没用就不要管它,不用提取出来,可以让它参与计算,因为所有的非纯数字的任何字符转换为实数都为0,不影响你的计算结果
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2004-7-19 13:07:50 | 显示全部楼层
转自明经通道
(defun strIsNum(str / ascList n len return char)
(setq ascList (stoal str))
(setq n 0)
(setq return T)
(setq len (length ascList))
(while (and return (< n len))
(setq char (nth n ascList))
(if(or
(and (>= char 48); 0
(<= char 57)
); 9
(= char 46); .
) ;_ end of or
(setq return T)
(setq return nil)
) ;_ end of if
(setq n (1+ n))
) ;_ end of while
return
) ;_ end of defun
(defun stoal  (strA)
(cond ((> (strlen strA) 1)
        (cons (ascii (substr strA 1)) (stoal (substr strA 2))))
       ((list (ascii (substr strA 1)))))
)
;不支持负号,自己改进一下吧
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|申请友链|Archiver|手机版|小黑屋|辽公网安备|晓东CAD家园 ( 辽ICP备15016793号 )

GMT+8, 2025-9-7 08:40 , Processed in 0.189011 second(s), 50 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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