"Se um trabalhador quiser fazer bem o seu trabalho, ele deve primeiro afiar suas ferramentas." - Confúcio, "Os Analectos de Confúcio. Lu Linggong"
Primeira página > Programação > Como realizar pesquisas XPath sem distinção entre maiúsculas e minúsculas com a função ContainsIn?

Como realizar pesquisas XPath sem distinção entre maiúsculas e minúsculas com a função ContainsIn?

Publicado em 2024-11-12
Navegar:622

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

XPath Contém

No XPath, a função contains() verifica se uma string contém outra, assim:

/html/body//text()[contains(.,'test')]

Isso diferencia maiúsculas de minúsculas, o que significa que não corresponderá a "Teste", "TEST" ou " Teste." Para ativar a distinção entre maiúsculas e minúsculas, tente esta solução alternativa:

/html/body//text()[
    contains(
        translate(., 'ABCDEFGHIJKLMNOPQRSTUVWXYZ', 'abcdefghijklmnopqrstuvwxyz'),
        'test'
    )
]

Isso substitui todas as letras maiúsculas por suas contrapartes minúsculas antes de verificar se há correspondências. No entanto, é limitado a conjuntos de caracteres conhecidos.

Um método alternativo utiliza 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");

Isso permite correspondência sem distinção entre maiúsculas e minúsculas de qualquer string de pesquisa sem conhecimento prévio do alfabeto. No entanto, ambas as opções enfrentam aspas simples nas strings de pesquisa.

Declaração de lançamento Este artigo foi reimpresso em: 1729588881 Se houver alguma violação, entre em contato com [email protected] para excluí-lo
Tutorial mais recente Mais>

Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.

Copyright© 2022 湘ICP备2022001581号-3