从以下字符串中获取51的最佳方法是什么?

时间:2011-09-28 20:08:27

标签: ruby regex url

获取'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 个答案:

答案 0 :(得分:2)

如果您知道该字符串中只有两个数字,那么这就足够了:

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

答案 1 :(得分:0)

您可以这样使用regexp:

  

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

以这种方式你“捕获”(“和”)之间的所有数字“(在最后一个标记中),你的结果将存储在

  

res.captures.first   (或只是在$ 1变量中)