使用Ruby和Regex查找字符串中的两个数字
我有一个字符串如下所示: 结果1-10/20 在Ruby中使用正则表达式如何找到该句子的数字10和20 比如:使用Ruby和Regex查找字符串中的两个数字,ruby,regex,Ruby,Regex,我有一个字符串如下所示: 结果1-10/20 在Ruby中使用正则表达式如何找到该句子的数字10和20 比如: first_number, second_number = compute_regex(my_string)... 谢谢试试这个: a = "Results 1 - 10 of 20" first_number, second_number = a.match(/\w+ (\d) \- (\d+) of (\d+)/)[2..3].map(&:to_i) 由于返回的rege
first_number, second_number = compute_regex(my_string)...
谢谢试试这个:
a = "Results 1 - 10 of 20"
first_number, second_number = a.match(/\w+ (\d) \- (\d+) of (\d+)/)[2..3].map(&:to_i)
由于返回的regexpMatchData
对象是字符串,因此有必要使用map
块。尝试以下操作:
a = "Results 1 - 10 of 20"
first_number, second_number = a.match(/\w+ (\d) \- (\d+) of (\d+)/)[2..3].map(&:to_i)
由于返回的regexpMatchData
对象是字符串,因此必须使用map
块
first, second = *source.scan(/\d+/)[-2,2]
解释
\d+
匹配任何数字
scan
在source
[-2,2]
返回数组中的最后两个数字:从索引-2
开始,从结尾返回下一个2
*
splat操作符将这两个匹配项解压到变量第一个
和第二个
(注意:此操作符不是必需的,您可以删除它,我喜欢)像这样:
first, second = *source.scan(/\d+/)[-2,2]
解释
\d+
匹配任何数字
scan
在source
[-2,2]
返回数组中的最后两个数字:从索引-2
开始,从结尾返回下一个2
*
splat操作符将这两个匹配项解压到变量第一个和第二个(注意:此操作符不是必需的,您可以删除它,我喜欢)splat不是严格必需的,是吗?splat不是严格必需的,是吗?