Ruby 有没有办法用逗号分隔数字?
我有 我想得到一个数组中的Ruby 有没有办法用逗号分隔数字?,ruby,regex,Ruby,Regex,我有 我想得到一个数组中的12和20。我的解决办法是: line = "abcde:abc/abcd=(12, 20)" 有没有更好的方法用ruby来解决这个问题呢?如果你想要一个字符串数组的话 array_line = line[/\(.*?\)/].delete('()').delete(' ').split(",") 或者一组数字 line.scan(/\d+/) #=> ["12", "20"] 根据另一个示例和方法: line.scan(/\d+/).map(&:t
12
和20
。我的解决办法是:
line = "abcde:abc/abcd=(12, 20)"
有没有更好的方法用ruby来解决这个问题呢?如果你想要一个字符串数组的话
array_line = line[/\(.*?\)/].delete('()').delete(' ').split(",")
或者一组数字
line.scan(/\d+/) #=> ["12", "20"]
根据另一个示例和方法:
line.scan(/\d+/).map(&:to_i) #=> [12, 20]
line=“abcde:123,type/onetwother=(12,20)”
第[/(?[“12”,“20”]
在这里,我们使用前向和后向仅匹配括号之间的数字。出于好奇:
line = "abcde:123, type/onetwothree = (12, 20)"
line[/(?<=\()[0-9,\s]+(?=\))/].split(', ') #=> ["12", "20"]
require'json'
JSON.parse“[#{'abcde:abc/abcd=(12,20)][/(?这一个可能也是一个很好的答案:
require 'json'
JSON.parse "[#{'abcde:abc/abcd=(12, 20)'[/(?<=\().*?(?=\))/]}]"
#⇒ [12, 20]
太棒了!如果括号前面有逗号和数字呢?比如line=“abcde:123,type/onetwotree=(12,20)”这确实是一个原始的解决方案。大多数人不知道String.[]
是否支持regexp。为整数值添加。map(&:to\u i)
。
line[/\((.*?)\)/, 1].delete(' ').split(",")