我想要下面的子字符串

1100110011110000


foo = "bar9-9 '11001100 11110000 A'A\n"

到目前为止,我使用了下面的方法
puts foo.split(',').map!(&:strip)[0].gsub(/\D/, '')
>> 991100110011110000

在这种情况下,去掉前面的2个9并不太困难,但是我想要一个通用的解决方案,它只获取' '单引号内的数字

最佳答案

您可以先用scan找到引用的部分,然后删除非数字:

> results = "bar9-9 '11001100 11110000 A'A\n".scan(/'[^']*'/).map{|m| m.gsub(/\D/, '')}
# => ["1100110011110000"]
> results[0]
# => "1100110011110000"

关于ruby - ruby:仅在引号内获取数字,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/49634548/

10-13 04:31