http://services.tvrage.com/tools/quickinfo.php?show=Chuck
我正在尝试解析该信息,例如,获取Airtime,
播音时间@星期一晚上8点
我想在“Airtime @”之后得到直到行尾,以便在“星期一晚上8点00分”出来。我怎么能这样做?
答案 0 :(得分:3)
您是否有任何理由不使用XML Feed?
require 'open-uri'
require 'nokogiri'
d = Nokogiri.XML(open 'http://services.tvrage.com/feeds/showinfo.php?sid=15614')
name = d.search('//showname').text # => 'Chuck'
day = d.search('//airday').text # => 'Monday'
time = d.search('//airtime').text # => '20:00'
net = d.search('//network[@country="US"]').text # => 'NBC'
puts "#{name} airs #{day}s at #{time} on #{net}."
# Chuck airs Mondays at 20:00 on NBC.
答案 1 :(得分:2)
result = allyourtextdata[/Airtime@(.+)/,1]
或者,如果您还要使用此报告中的其他字符串:
hash = Hash[allyourtextdata.scan(/(.+?)@(.+)/)]
p hash["Airtime"] # this will print "Monday at 08:00 pm"
答案 2 :(得分:1)
require 'net/http'
url=URI.parse('http://services.tvrage.com/tools/quickinfo.php?show=Chuck')
response = Net::HTTP.get_response(url)
data=response.body
puts data.scan(/.*Airtime@(.*)\n/)
答案 3 :(得分:0)
为何选择正则表达式?获得子串的任何问题?
s = "Airtime@Monday at 08:00 pm"
puts s[8..-1] # => Monday at 08:00 pm
修改强>
好的,这是其他选项
puts s[s.index('@') + 1..-1]
答案 4 :(得分:-1)
这是一个测试ruby正则表达式的好网站:http://rubular.com/