按 ruby 中普通 HTML 的位置查找值
Find Value by position on plain HTML in ruby
我的 Html 文件没有任何 类 。我正在尝试获得否。从平原 Html
<html>
<head></head>
<body>
PO Number : [4587958]
</body>
</html>
我可以使用
找出 PO 编号测试
require 'rubygems'
require 'nokogiri'
PAGE_URL = "a.html"
page = Nokogiri::HTML(open(PAGE_URL))
data = page.css("body").text
puts data
test = data
ponumber = test.scan('PO Number')
puts ponumber
我拿不到号。
您可以通过使用匹配数字的正则表达式进行扫描来获取号码:
page.css('body').text.scan(/\d+/)
# ["4587958"]
page.css('body').text.scan(/\d+/).first.to_i
# 4587958
scan
returns 包含所有匹配项的数组。如果您的文档中有多个数字,只需选择您要选择的元素:
# Example:
# Invoice Number : [78945824] PO Number : [4587958]
page.css('body').text.scan(/\d+/)
# ["78945824", "4587958"]
page.css('body').text.scan(/\d+/)[1].to_i
# 4587958
我的 Html 文件没有任何 类 。我正在尝试获得否。从平原 Html
<html>
<head></head>
<body>
PO Number : [4587958]
</body>
</html>
我可以使用
找出 PO 编号测试require 'rubygems'
require 'nokogiri'
PAGE_URL = "a.html"
page = Nokogiri::HTML(open(PAGE_URL))
data = page.css("body").text
puts data
test = data
ponumber = test.scan('PO Number')
puts ponumber
我拿不到号。
您可以通过使用匹配数字的正则表达式进行扫描来获取号码:
page.css('body').text.scan(/\d+/)
# ["4587958"]
page.css('body').text.scan(/\d+/).first.to_i
# 4587958
scan
returns 包含所有匹配项的数组。如果您的文档中有多个数字,只需选择您要选择的元素:
# Example:
# Invoice Number : [78945824] PO Number : [4587958]
page.css('body').text.scan(/\d+/)
# ["78945824", "4587958"]
page.css('body').text.scan(/\d+/)[1].to_i
# 4587958