不區分大小寫的XPath Contains
在XPath 中, contains() 函數檢查一個字串是否包含另一個字串,如下圖所示:
/html/body//text()[contains(.,'test')]
區分大小寫,這表示它不會符合「Test」、「TEST」或「測試。 「若要啟用不區分大小寫,請嘗試下列解決方法:
/html/body//text()[ contains( translate(., 'ABCDEFGHIJKLMNOPQRSTUVWXYZ', 'abcdefghijklmnopqrstuvwxyz'), 'test' ) ]
這會在檢查匹配之前將每個大寫字母替換為其對應的小寫字母。但是,它僅限於已知的字元集。
另一種方法是利用 JavaScript:
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");
這允許不區分大小寫地匹配任何搜尋字串,無需事先了解字母表。然而,這兩個選項都與搜尋字串中的單引號有關。
免責聲明: 提供的所有資源部分來自互聯網,如果有侵犯您的版權或其他權益,請說明詳細緣由並提供版權或權益證明然後發到郵箱:[email protected] 我們會在第一時間內為您處理。
Copyright© 2022 湘ICP备2022001581号-3