1

我想转换String包含多个数字的a,以便所有这些数字都变为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 回答