sandybuster
2008-05-22 15:29 阅读 393

ruby 怎么利用正则表达式在把一个字符串数组中的数字放到一个数组中?

ruby 怎么利用正则表达式在把一个字符串数组中的数字放到一个数组中?
[code="ruby"]
str='100good200bad300ok'
[/code]
[b]问题补充:[/b]
说错了
是把一个字符串中的所有数字放到一个数组中
:)

[b]问题补充:[/b]

100 200 300
不过还是谢谢sunfjun

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享

5条回答 默认 最新

  • 已采纳
    shaquan shaquan 2008-05-28 13:58

    str='100good200bad300ok'

    str.scan(/\d+/)

    点赞 评论 复制链接分享
  • iteye_4017 iteye_4017 2008-05-26 21:41

    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]

    点赞 评论 复制链接分享
  • dennis_zane dennis_zane 2008-05-27 18:50

    [code="ruby"]
    str='100good200bad300ok'

    result=[]
    while str=~/\d+/
    result<<$&.to_i
    str=$'
    end
    puts result.inspect
    [/code]

    点赞 评论 复制链接分享
  • iteye_8302 iteye_8302 2008-05-27 21:14

    [code="ruby"]'100good200bad300ok'.split(/[^\d]/).reject{|a| a == ""}[/code]

    点赞 评论 复制链接分享
  • iteye_8302 iteye_8302 2008-05-28 14:32

    String的这个scan方法真不错, shaquan6776 :idea:

    点赞 评论 复制链接分享

相关推荐