明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 2423|回复: 17

[讨论] 請教:如何提取"DETAIL 2:1"中數字2和1

  [复制链接]
发表于 2010-12-27 19:45 | 显示全部楼层 |阅读模式
如題,想讓程序提取2和1,即分別提取“:”前後數字,有沒有好的辦法? 先謝謝了!!
发表于 2010-12-27 19:55 | 显示全部楼层
单依楼主所举之例 SubStr 即可处理
实务上还有着什么样的可能变化!?
 楼主| 发表于 2010-12-27 20:09 | 显示全部楼层
回复 Andyhon 的帖子

呵,回帖真快,可能是其它值,1位,2位,位置也不固定!  但“:”固定會有,就是要知道它前後的數字分別是什麼!!謝謝!!!!
发表于 2010-12-27 21:27 | 显示全部楼层
明确些,举经常性遇上的实例
因为编程是钉住条件在叙述底
发表于 2010-12-27 21:35 | 显示全部楼层

  1. (mapcar 'chr (vl-remove-if '(lambda (x) (or (> x 57)(< x 48))) (VL-STRING->LIST "DETAIL 2:1")))
  2. ;;;返回 '("2" "1")
复制代码

评分

参与人数 1金钱 +10 收起 理由
xiaobao02 + 10 成功解决问题,版主很热心!谢谢!

查看全部评分

 楼主| 发表于 2010-12-27 21:42 | 显示全部楼层
回复 Andyhon 的帖子

这是一个放大图的放大比例标示,可能是4:1、10:1、15:2......
我想通过这个信息知道线性标注比例的值,即4:1等于放大4倍,线性标注比例的值为1/4=0.25
 楼主| 发表于 2010-12-27 21:52 | 显示全部楼层
谢谢各位回帖,问题已被版主解决!
发表于 2010-12-27 21:52 | 显示全部楼层
本帖最后由 Andyhon 于 2010-12-27 22:02 编辑

Command: (setq str "DETAIL 2:1")
"DETAIL 2:1"
Command: (substr str 8 1)
"2"
Command: (substr str 10 1)
"1"


(setq str "DETAIL 12:1")
(setq strR (substr str 8)
     Strnn (Strlen StrR)
      Strz (substr StrR Strnn)
      StrA (substr strR 1 (- Strnn 2))
)
 楼主| 发表于 2010-12-27 22:07 | 显示全部楼层
回复 Andyhon 的帖子

这个方法我知道,但2和1的位数和位置不固定,前面的内容也不固定,不能完全解决问题!

版主GU_xl可行,刚刚偿试了一下“DETAI L 15:21”结果为("1" "5" "2" "1")
就有问题了,不知能不能返回("15" "21")

(mapcar 'chr (vl-remove-if '(lambda (x) (or (> x 57)(< x 48)))
(VL-STRING->LIST "DETAIL 15:21")))

("1" "5" "2" "1")
发表于 2010-12-27 22:31 | 显示全部楼层
本帖最后由 crazylsp 于 2011-4-21 09:42 编辑


(setq a(vl-string-right-trim "

点评

謝謝! vl-string-trim不能滿足使用要求,21和15是未知的,也不一定會有 “”  发表于 2010-12-28 07:59
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-5-8 23:34 , Processed in 0.234692 second(s), 27 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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