"일꾼이 일을 잘하려면 먼저 도구를 갈고 닦아야 한다." - 공자, 『논어』.
첫 장 > 프로그램 작성 > ContainsIn 함수를 사용하여 대소문자를 구분하지 않는 XPath 검색을 수행하는 방법은 무엇입니까?

ContainsIn 함수를 사용하여 대소문자를 구분하지 않는 XPath 검색을 수행하는 방법은 무엇입니까?

2024년 11월 12일에 게시됨
검색:460

How to Perform Case-Insensitive XPath Searching with ContainsIn Function?

대소문자를 구분하지 않는 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");

이것은 다음을 허용합니다. 알파벳에 대한 사전 지식 없이 검색 문자열을 대소문자를 구분하지 않고 일치시킵니다. 그러나 두 옵션 모두 검색 문자열에서 작은따옴표로 인해 어려움을 겪습니다.

릴리스 선언문 이 글은 1729588881에서 재인쇄되었습니다. 침해 내용이 있는 경우, [email protected]으로 연락하여 삭제하시기 바랍니다.
최신 튜토리얼 더>

부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.

Copyright© 2022 湘ICP备2022001581号-3