xuxi3201 发表于 2019-10-1 09:16:57

请教pick截取后面一部分怎么写

本帖最后由 xuxi3201 于 2019-10-1 09:22 编辑

已经获取到数据,比如,
123/678
12345/67890
请问,如何截取 / 后面的数据给变量
:local aaa 123/678
:local bbb [:pick ]
我希望bbb是 678
我希望bbb是 67890
.
请教pick截取后面一部分怎么写
谢谢

cspm333 发表于 2019-10-1 12:19:13

本帖最后由 cspm333 于 2019-10-1 12:31 编辑

#宣告字串
:local aaa "123456789"

#打印aaa左起第3個字元
/put [:pick $aaa 3]
但注意計算機的計數起始是0,而非一般認知的1,所以實際計數是3+1,
打印時印出的值是4

#打印aaa左起3-7的字元
/put [:pick $aaa 3 7]
起始端抓的值同上,計數起始從0開始,所以打印會從4開始打印;
但結束端計數卻是從1開始,並非從0開始計數,也就是結束打印時同7沒有改變。
所以本次的打印結果為4567

xuxi3201 发表于 2019-10-1 13:10:02

本帖最后由 xuxi3201 于 2019-10-1 23:06 编辑

cspm333 每次你都帮忙。。
我这次是为了查询,网络流量大的用户。
已经搞定。

感谢!

cspm333 发表于 2019-10-1 20:43:02

xuxi3201 发表于 2019-10-1 13:10
好的,谢谢

:local aaa "abcdefgh"
/put [:pick $aaa3 [:len $aaa]]
假如要打印aaa第3個字元 至字串末,用上述腳本會打印出defgh
機械與人的計數方式還是有差異的...http://bbs.routerclub.com/static/image/smiley/default/sweat.gif

所以您可更改下面方式打印:
/put [:pick $aaa(3-1) [:len $aaa]]
這樣就能依人類的方式計數,從第3 至字串末,正確打印出cdefgh


47771885 发表于 2019-10-4 14:33:43

经常看到楼主的索取

{
##www.ros.sh
:put "www.ros.sh"
:local test
:local aaa 123/678
:local bbb 123/67890
:set test [:pick $aaa ([:find $aaa "/"]+1) [:len $aaa]]
:put $test
:set test [:pick $bbb ([:find $bbb "/"]+1) [:len $bbb]]
:put $test
}

xuxi3201 发表于 2019-10-4 20:19:28

谢谢47771885


我是 索取,
在 cspm333 给我答案后,我已经把我的想法私聊给他了,
我也是分享。

xuxi3201 发表于 2019-10-4 20:23:24

补充一下,
你看懂了 我要的东西,他没有看懂。
19-10月2日,我根据他的回答已经写好了,
页: [1]
查看完整版本: 请教pick截取后面一部分怎么写