2010-12-11 8 views
4

어쩌면 난 그냥 꽤 피곤 해요,하지만이 같은 문자열에서 숫자를 구문 분석 할 수있는 확실한 방법이 표시되지 않습니다 : 나에게 발생루비 문자열에서 반복 매치를 구문 분석 하시겠습니까?

some text here, and then 725.010, 725.045, 725.340 and 725.370; and more text 

한 가지 : 측정에 공백이 분할 정렬. 그런 다음 그룹의 정규식 테스트를 배열의 각 요소에 적용합니다.

더 간편하고 간편한 방법이 있습니까?

+0

답변 해 주셔서 감사합니다. 나는 String # scan에 대해 잊어 버렸다. 그런데 이것들은 법령 번호입니다. – Dogweather

답변

5

당신은 String#scan이 필요합니다 경기의

your_string.scan(/\d\d\d\.\d\d\d/) 

가 출력 배열.

5
result = subject.scan(/\d+(?:\.\d+)?/) 

이 문자열에서 정수 또는 소수를 찾아 배열 result에 (하지만, 문자열로 여전히)을 넣어 것입니다.

+1

그들을 float으로 가져 오려면'result = subject.scan (/ \ d + (? : \. \ d +)? /). map (& : to_f)'하십시오. –

관련 문제