dinosaurhxe2 发表于 2007-12-7 12:44:00

[已解决]如何截取字符串中的一段?

本帖最后由 作者 于 2007-12-7 13:31:01 编辑 <br /><br /> <p>一些很有规律的字符串,我想要其中一段。</p><p>150-21(12)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 21</p><p>1132-8B(4)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 8B</p><p>等等,我想要-之后(之前的那一段。</p><p>这个该怎么截?</p>

caoyin 发表于 2007-12-7 13:13:00

<p>(defun tt (str / pos)<br/>&nbsp; (setq pos (vl-string-position 45 str))<br/>&nbsp; (substr str (+ pos 2) (1- (- (vl-string-position 40 str) pos)))<br/>)</p><p>;;test</p><p>(tt "150-21(12)")-----&gt;"21"</p><p>(tt "1132-8B(4)")-----&gt;"8B"</p>

dinosaurhxe2 发表于 2007-12-7 13:28:00

<p>明白,如果不知道上面的45的话,还可以(ascii "-")得到45,(ascii "(")得到40,呵呵。</p><p>感谢曹前辈!</p>

npu349 发表于 2007-12-12 22:54:00

<p>不错...受益匪浅啊。。。</p>

zzl9105 发表于 2014-1-13 17:00:16

caoyin 发表于 2007-12-7 13:13 static/image/common/back.gif
(defun tt (str / pos)&nbsp; (setq pos (vl-string-position 45 str))&nbsp; (substr str (+ pos 2) (1- ( ...

我想截取如下字符中的一段数字,该如何?
N=45808,M=2547
想取N=后面的数值,不要后面的字符“,M=2547“,
即取轴力的值45808即可,
现在有很多这样的数值要处理,不知道如何操作,
谢谢caoyin版主。
也盼其它高手出手相助!

caoyin 发表于 2014-1-15 18:15:44

zzl9105 发表于 2014-1-13 17:00 static/image/common/back.gif
我想截取如下字符中的一段数字,该如何?
N=45808,M=2547
想取N=后面的数值,不要后面的字符“,M=2547“ ...

vl-string-search搜索"N="和","的位置,然后substr

zzl9105 发表于 2014-1-18 20:53:50

caoyin 发表于 2014-1-15 18:15 static/image/common/back.gif
vl-string-search搜索"N="和","的位置,然后substr

非常感谢caoyin版主,已会做了。

chenbh2 发表于 2020-10-26 18:51:54

留个记号,日后好相见!

f4800 发表于 2020-11-2 07:34:41

留个记号,日后有用。多谢。

sunqv 发表于 2023-5-13 21:22:37

“200X100"如何分别提取200和 100,”X"前后数字的位数不固定
页: [1]
查看完整版本: [已解决]如何截取字符串中的一段?