我正在尝试从段落中抓取价格并将其存储在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 ')
将为值 1 提供值 '50.00'。
您可以在段落结果上使用正则表达式匹配。 .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
的相同用途也很棒。