大文字と小文字を区別しない 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