ruby 怎么利用正则表达式在把一个字符串数组中的数字放到一个数组中?
[code="ruby"]
str='100good200bad300ok'
[/code]
[b]问题补充:[/b]
说错了
是把一个字符串中的所有数字放到一个数组中
:)
[b]问题补充:[/b]
是
100 200 300
不过还是谢谢sunfjun
str='100good200bad300ok'
str.scan(/\d+/)
str='100good200bad300ok'
a=[]
str.each_byte do |x|
a<<x.chr if x<65
end
puts a
类似于这样 但是不知道你要一个什么样的数组 是 [1,0,0,2,0,0,3,0,0]or
[100,200,300]
[code="ruby"]
str='100good200bad300ok'
result=[]
while str=~/\d+/
result<<$&.to_i
str=$'
end
puts result.inspect
[/code]
[code="ruby"]'100good200bad300ok'.split(/[^\d]/).reject{|a| a == ""}[/code]
String的这个scan方法真不错, shaquan6776 :idea: