我如何解析这个网址以获取ID?

时间:2011-05-01 07:52:15

标签: ruby-on-rails ruby ruby-on-rails-3

我想使用ruby解析此网址以获取ID 33:http://www.domain.com/?id=33

我该怎么做?

3 个答案:

答案 0 :(得分:8)

您可以使用正则表达式,但最好使用这些库来确保您正确处理URL的所有各种特性:

require 'uri'
require 'cgi'
h  = CGI.parse(URI.parse('http://www.domain.com/?id=33').query)
id = h['id'][0].to_i
# You now have the id parameter as a Fixnum

作为奖励,这将使您熟悉标准库。

答案 1 :(得分:2)

您可以通过匹配使用正则表达式,即

id = url.match(/.*\=(\d+)/)[1]

其中url =“http://www.domain.com/?id=33”

伊恩。

答案 2 :(得分:-1)

使用像/\d+\z/这样的正则表达式。例如,您可以使用rubular构建此类视频。给定的表达式在条件下提取id,没有其他字符跟在id后面,id本身只包含数字。