明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 865|回复: 8

[基础] substr能否实现从指定字符开始截取字符串么

[复制链接]
发表于 2018-5-23 09:32 | 显示全部楼层 |阅读模式
如题,substr能否实现从指定字符开始截取字符串么,比如从D开始截取它后面的2位字符串。
它好像只能指定从第几个开始截取,或者有其它的函数能实现这个小要求么。
谢谢
发表于 2018-5-23 10:27 | 显示全部楼层
vl-string->list + member
回复 支持 1 反对 0

使用道具 举报

 楼主| 发表于 2018-5-23 10:58 | 显示全部楼层
Andyhon 发表于 2018-5-23 10:27
vl-string->list + member

比如目标字符串为“32 D16”,其中D前面有一个空格,我要截取的是D后面的16,下面的表达对不,
(setq a "32 D16")
(vl-string->list a 5 2)
经测试,vl它没有返回想要的结果,谢谢
发表于 2018-5-23 13:42 | 显示全部楼层
本帖最后由 lostbalance 于 2018-5-24 10:00 编辑

(setq a "32 D16")
(vl-string->list a 5 2)

PS,如果是连D的位置也不确定的话,就要先确定D的位置,简单点,设一个计数i,然后用(wcmatch (substr a i) (strcat "D" "*")),来定位i
ps2,上面的vl-string->list错了应该是substr

点评

是的,我先确定了D的位置,再用substr解决了,谢谢你  发表于 2018-5-23 14:39
发表于 2018-5-23 13:55 | 显示全部楼层
  1. (setq a "32 D16")
  2. (setq nPos(vl-string-search "D" a))
  3. (setq str (substr a (1+ nPos)))

点评

谢谢你的search,我后来自已找到了position,应该功能相近。  发表于 2018-5-23 14:41
发表于 2018-5-23 14:03 | 显示全部楼层
(read (vl-list->string (cdr (member 68 (vl-string->list a)))))

但此例用 Gu_xl的函式较切
发表于 2018-5-23 14:28 | 显示全部楼层

刚才死活没想起来vl-string-search
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-4-25 15:01 , Processed in 0.490745 second(s), 31 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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