Как получить второе целое число в строке Ruby с помощью to_i? - PullRequest
2 голосов
/ 30 июня 2009

Мне нужно преобразовать несколько строк и вытащить два первых целых числа, например:

unkowntext60moreunknowntext25something

Кому:

@width = 60
@height = 25

Если я наберу string.to_i, я получу первое целое число: 60. Я не могу понять, как получить второе целое число 25. Есть идеи?

Ответы [ 3 ]

12 голосов
/ 30 июня 2009

Как насчет чего-то вроде:

text = "unkowntext60moreunknowntext25something"
@width, @height = text.scan(/\d+/).map { |n| n.to_i }  #=> 60, 25
4 голосов
/ 30 июня 2009
@width, @height = "unkowntext60moreunknowntext25something".scan(/[0-9]+/)
2 голосов
/ 30 июня 2009

Вы можете использовать регулярное выражение, например (\d+), чтобы захватить все числа в строке, а затем выполнить итерацию групп захвата, преобразовав каждую из них в целое число.

Редактировать : Я не знаю Ruby, поэтому я написал вики-ответ на этот вопрос в надежде, что Rubyist предоставит пример кода.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...