gpt4 book ai didi

ruby-on-rails - 如何创建 nokogiri 不区分大小写的文本 * 搜索?

转载 作者:行者123 更新时间:2023-12-04 06:04:37 25 4
gpt4 key购买 nike

目前我正在做

words = []
words << "philip morris"
words << "Philip morris"
words << "philip Morris"
words << "Philip Morris"
for word in words
doc.search("[text()*='#{word}']")
end

当我使用 hpricot 时,我找到了在 gem 中将结果小写的位置,这样我就可以将所有搜索保持小写,但是 nokogiri 很难找到可以做到这一点的地方。有谁知道这样做的方法吗?非常感谢您的宝贵时间

最佳答案

lower-case XPath 函数不可用,但您可以使用 translate XPath 1.0 函数将文本转换为小写,例如对于英文字母:

translate(text(),'ABCDEFGHIJKLMNOPQRSTUVWXYZ','abcdefghijklmnopqrstuvwxyz')

我似乎无法将其与 *= 运算符结合使用,但您可以使用 contains 来进行子字符串搜索,从而完成以下操作:

doc.search("//*[contains(translate(text(),'ABCDEFGHIJKLMNOPQRSTUVWXYZ','abcdefghijklmnopqrstuvwxyz'),'philip morris')]")

关于ruby-on-rails - 如何创建 nokogiri 不区分大小写的文本 * 搜索?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3802654/

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