我想使用ruby解析此网址以获取ID 33:http://www.domain.com/?id=33
我该怎么做?
答案 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本身只包含数字。