不区分大小写的 XPath contains() 函数
在 XPath 中,contains() 函数区分大小写。但是,有一些方法可以解决此限制。
方法 1:翻译字符
此方法涉及在检查子字符串之前将字符转换为小写或大写:
/html/body//text()[ contains( translate(., 'ABCDEFGHIJKLMNOPQRSTUVWXYZ', 'abcdefghijklmnopqrstuvwxyz'), 'test' ) ]
这将在检查子字符串“test”之前将文本中的所有大写字母转换为小写。
方法 2:动态 XPath 表达式
使用 JavaScript 等脚本语言,您可以构造处理不区分大小写的动态 XPath 表达式:
function xpathPrepare(xpath, searchString) {
return xpath.replace("$u", searchString.toUpperCase())
.replace("$l", searchString.toLowerCase())
.replace("$s", searchString.toLowerCase());
}
xp = xpathPrepare("//text()[contains(translate(., '$u', '$l'), '$s')]", "Test");
这替换占位符在具有大写、小写和小写版本的搜索字符串的 XPath 表达式中。
其他注意事项
免责声明: 提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发到邮箱:[email protected] 我们会第一时间内为您处理。
Copyright© 2022 湘ICP备2022001581号-3