gpt4 book ai didi

ruby-on-rails - 不区分大小写的 XPath 与自定义函数匹配

转载 作者:行者123 更新时间:2023-12-04 16:21:53 30 4
gpt4 key购买 nike

由于 XPath 支持自定义函数,因此我创建了一个函数来匹配不区分大小写的函数:

class XpathFunctions

def case_insensitive_equals node_set, str_to_match
node_set.find_all do |node|
node.to_s.downcase == str_to_match.to_s.downcase
end
end

end

但是,使用此页面进行测试会返回以下结果:
agent = Mechanize.new
page = agent.get('http://www.angelettiauto.it/parcoveicoli.php').parser
page.xpath("//*[case_insensitive_equals(text(),'Audi')]", XpathFunctions.new).count
# => 1

预期的结果是 4 ,因为页面上列出了 4 个奥迪,我需要所有这些。

这是由于使用完全匹配而不是 contains() 引起的。 ,但我不知道在哪里注入(inject)它。

最佳答案

这可以通过像这样修改 case_insensitive_equals 方法来实现:

def case_insensitive_equals node_set, str_to_match
node_set.find_all do |node|
node.to_s.downcase.include?(str_to_match.downcase)
end
end

关于ruby-on-rails - 不区分大小写的 XPath 与自定义函数匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27398679/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com