2010-12-11 1 views
4

Может быть, я просто очень устал, но я не вижу очевидный способ разобрать цифры из строки, как это:Разбор повторяющихся совпадений от рубиновой строки?

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

Одна вещь, которая произошла со мной: разделить это пробелами в массив. Затем примените тест регулярного выражения с группой к каждому элементу массива.

Есть ли более чистый, более простой способ сделать это?

+0

Спасибо за ответы, всем. Я забыл о String # scan. Кстати, это номера статутов. – Dogweather

ответ

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

Найдет целые числа и десятичные в строку и поместить их (до сих пор в виде строк, хотя) в массив result.

+1

Чтобы получить их как float, просто выполните 'result = subject.scan (/ \ d + (?: \. \ D +)? /). Map (&: to_f)'. –

Смежные вопросы