Каков наилучший способ получить 51, из следующей строки - PullRequest
0 голосов
/ 29 сентября 2011

Какой лучший способ получить '51' из следующей строки в ruby:

"<https://api.example.com/users/lgs/api?page=2>; rel=\"next\", <https://api.example.com/users/lgs/api?page=51>; rel=\"last\""

Спасибо заранее Лука

Ответы [ 2 ]

2 голосов
/ 29 сентября 2011

Если вы знаете, что в этой строке только два числа, этого достаточно:

str = '"<https://api.example.com/users/lgs/api?page=2>; rel=\"next\", <https://api.example.com/users/lgs/api?page=51>; rel=\"last\""'
p str.scan(/\d+/).last #=> "51"

Если нет, то предоставьте больше подробностей, чтобы сделать регулярное выражение более точным. Также вы можете добавить to_i, если вам нужен ответ в виде числа.

0 голосов
/ 29 сентября 2011

Вы можете использовать регулярное выражение следующим образом:

res = str.match /.page=(\d+)./

таким образом вы «захватываете все цифры между» («и») »(в последнем токене), и ваш результат будет сохранен в

res.captures.first (или просто вПеременная $ 1)

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