Project1

标题: [已解决]如何提取一段字符串当中的数字? [打印本页]

作者: miantouchi    时间: 2019-6-9 15:04
标题: [已解决]如何提取一段字符串当中的数字?
本帖最后由 miantouchi 于 2019-6-9 15:58 编辑

如何提取一段字符串当中的数字?打个比方,一个字符串里面有字母有数字有标点符号,我只要里面的数字。


例如:我用正则表达式匹配一个以上数字提示未nil,到底应该怎么写呢?
p "dfg4654sdf" =~/(\d+)/

想要得到:4654
可以不用正则也行,只要有办法实现就行了
作者: soulsaga    时间: 2019-6-9 15:42
正则好像不用加引号吧?
作者: soulsaga    时间: 2019-6-9 16:01
soulsaga 发表于 2019-6-9 15:42
正则好像不用加引号吧?


p "dfg4654sdf" =~/(\d+)/
p $1

这样$1得到的是4654啊..没有错
作者: fux2    时间: 2019-6-10 09:39
  1. if "asdasasf"[/(\d+)/]
  2. p $1
  3. end
复制代码

作者: hyrious    时间: 2019-6-10 10:17
不用写钱($)的方法:
  1. "dfg4654sdf".match(/(\d+)/)[1]
  2. "dfg4654sdf".match(/(?<num>\d+)/)[:num]
  3. if /(?<num>\d+)/ =~ "dfg4654sdf" then p num end
复制代码





欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1