2012-06-09 1 views
1

String을 여러 개의 숫자가 포함 된 숫자로 변환하여 Integer이되도록 변환하고 싶습니다.문자열에 포함 된 숫자를 정수로 변환하고 숫자 값 및 공백을 제거하지 않음

"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
"1,2,3,4,5,a,b,c,d,e".scan(/\d+/).map(&:to_i) 
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} 
관련 문제