找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 633|回复: 2

[求助] [求助]:如何实现文字截取转换并计算?

[复制链接]
发表于 2007-7-24 14:34:53 | 显示全部楼层 |阅读模式

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

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

×
如何在全部文字中选定带"S="前缀的字符,如何截取"S=17.78"和"S总=17.78"这两种字符中,数字部分的内容,并转换成实数相加呢?请各位高手出手一下!,
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

已领礼包: 2个

财富等级: 恭喜发财

发表于 2007-7-24 18:17:56 | 显示全部楼层
1、关于对象筛选

  1. (ssget "X"(list (cons 0 "*TEXT") (cons 1 "S=*")))
复制代码

更多关于SSGET函数的解释见:http://okok.org/lisp/lisp212.htm
2、关于截取
函数定义:

  1. (defun JQ (STR)
  2.     (substr STR
  3.             (+ (vl-string-search "=" STR)2)
  4.             (- (strlen STR) (vl-string-search "=" STR))
  5.     )
  6. )

测试:
[PHP]
_$ (JQ "S=17.78")
_1_$
"17.78"
_$ (JQ "S总=17.78")
"17.78"
_$
[/PHP]
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2007-7-26 21:07:24 | 显示全部楼层
程序的目的是将文字str中的数字依次放在表numlist中,可以针对任意情况
(defun dyq-get-number (str) ;获得文字中的数字
  (setq num (strlen str))
  (setq i 1)
  (setq numlist '())
  (setq        key1 0
        key2 0
  )
  (repeat num
    (setq stri (ascii (substr str i 1))) ;转成ascii码
    (if        (and (= key2 0)
             (or (= stri 46) (and (>= stri 48) (<= stri 57)))
        ) ;如果是数字,并且是第一次碰到
      (setq key1 i ;起始
            key2 i
      )
    )
    (if        (and (> key2 0)
             (or (= stri 46) (and (>= stri 48) (<= stri 57)))
        ) ;如果是数字,并且不是第一次碰到
      (setq key2 i) ;起始
    )
    (if        (and (> key2 0)
             (and (/= stri 46) (or (< stri 48) (> stri 57)))
        ) ;如果不是数字了
      (setq numlist (cons (atof (substr str key1 (- key2 key1 -1))) numlist) ;将数字存起来
            key2    0
      ) ;起始
    )
    (setq i (+ i 1))
  )
  (if (> key2 0)
    (setq numlist (cons (atof (substr str key1 (- key2 key1 -1))) numlist))
  ) ;将数字存起来
  (reverse numlist)
)
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-6-19 07:40 , Processed in 0.174875 second(s), 35 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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