1

ループして特定の値を別の配列にプッシュしている配列があります。元:

first_array = ["Promoter: 8", "Passive: 7"]

整数であるすべての値を別の配列にプッシュしたいのですが、最終的には次のようになります。

final_array = [8,7]

新しい配列の値が整数であると便利です。文字列内のすべての数値を新しい配列にプッシュする方法は考えられませんが、私が望んでいることを行うための最良のオプションは何でしょうか?

4

5 に答える 5

2
first_array.map{|s| s[/\d+/].to_i}
# => [8, 7] 
于 2013-10-12T04:36:42.950 に答える
1
first_array.map{|a| a.match(/\d+/)}.compact.map{|a| a[0].to_i }
  • 正規表現を使用して整数を取得し、
  • 整数を含まない文字列から空白を圧縮し、
  • それらをすべてintに変換します
于 2013-10-12T04:15:19.460 に答える