我正试图从段落中剔除价格并将其存储在Nokogiri的数据库中。该段看起来像这样:
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit.
Sed elit nisi, tincidunt id purus vitae, imperdiet
vulputate diam 50.00, imperdiet vulputate diam 100.00 ...</p>
每个段落中的文本总是相同的,数字是唯一改变的。我知道如何使用Nokogiri选择带有css选择器的整个段落,但是有没有办法根据前面的文本从段落中选择每个价格?像
这样的东西value1 = doc.?('vulputate diam ')
会给value1一个'50 .00'的值。
答案 0 :(得分:0)
您可以在段落结果上使用正则表达式匹配。 .match(/vulputate diam ([\d\.]+)/)
x = "<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed elit nisi, tincidunt id purus vitae, imperdiet vulputate diam 50.00, imperdiet vulputate diam 100.00 ...</p>".match(/vulputate diam ([\d\.]+)/)
x.captures
# => ["50.00"]
与Philip Hallstrom建议的scan
一样使用也很好。