1

複数の数値を含むa を変換しStringて、それらの数値がすべてIntegers になるようにしたいと思います。つまり、私は持っています:

"1,2,3,4,5,6,7,8,9,0" # String
" 1,  2, 3,  4, 5   , 6 ,7 ,8  ,9  ,  0" # String (spaces are important)

そして私はしたい:

[1, 2, 3, 4, 5, 6, 7, 8, 9, 0] # Array

しかし、それだけではありません。私が持っている場合:

"1,2,3,4,5,a,b,c,d,e" # String
"  1,  2 , 3   ,  4  ,  5 , a, b,c  , d , e" # String (spaces are important)

私がしたい(数値ではない値は削除されます):

[1 , 2 , 3 , 4, 5] # Array
4

2 に答える 2

4
"1,2,3,4,5,a,b,c,d,e".scan(/\d+/).map(&:to_i)
于 2012-06-09T03:34:45.033 に答える
0

簡単な解決策:

"  1,  2 , 3   ,  4  ,  5 , a, b,c  , d , e"
  .split(',')
  .map {|e| e.strip} 
  .find_all {|e| e =~ /(\d)+/ }
  .map {|e| e.to_i}
于 2012-06-09T03:37:02.020 に答える