Подтвердить что ты не робот

(Ruby) Есть ли функция, позволяющая легко найти первое число в строке?

Например, если я набрал "ds.35bdg56", функция вернет 35. Есть ли готовая функция для чего-то подобного или мне нужно перебирать строку, найти первое число и посмотреть, как долго идет, а затем возвращает это?

4b9b3361

Ответ 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)

Ответ 3

text[/\d+/].to_i