(Ruby) Есть ли функция, позволяющая легко найти первое число в строке?
Например, если я набрал "ds.35bdg56", функция вернет 35. Есть ли готовая функция для чего-то подобного или мне нужно перебирать строку, найти первое число и посмотреть, как долго идет, а затем возвращает это?
Ответ 1
>> 'ds.35bdg56'[/\d+/]
=> "35"
Или, поскольку вы запросили функцию...
$ irb
>> def f x; x[/\d+/] end
=> nil
>> f 'ds.35bdg56'
=> "35"
Вам действительно может понравиться следующее:
>> class String; def firstNumber; self[/\d+/]; end; end
=> nil
>> 'ds.35bdg56'.firstNumber
=> "35"
Ответ 2
text = "ds.35bdg56"
x = /\d+/.match(text)
puts x #will return 35 (i hope this helps)