"Si un trabajador quiere hacer bien su trabajo, primero debe afilar sus herramientas." - Confucio, "Las Analectas de Confucio. Lu Linggong"
Página delantera > Programación > ¿Cómo realizar una búsqueda XPath que no distingue entre mayúsculas y minúsculas con la función ContieneIn?

¿Cómo realizar una búsqueda XPath que no distingue entre mayúsculas y minúsculas con la función ContieneIn?

Publicado el 2024-11-12
Navegar:912

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

XPath que no distingue entre mayúsculas y minúsculas contiene

En XPath, la función contiene() comprueba si una cadena contiene otra, como esta:

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

Esto distingue entre mayúsculas y minúsculas, lo que significa que no coincidirá con "Test", "TEST" o " Prueba." Para habilitar la distinción entre mayúsculas y minúsculas, pruebe esta solución alternativa:

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

Esto reemplaza cada letra mayúscula con su contraparte minúscula antes de verificar si hay coincidencias. Sin embargo, está limitado a conjuntos de caracteres conocidos.

Un método alternativo aprovecha 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");

Esto permite coincidencia que no distingue entre mayúsculas y minúsculas de cualquier cadena de búsqueda sin conocimiento previo del alfabeto. Sin embargo, ambas opciones tienen problemas con las comillas simples en las cadenas de búsqueda.

Declaración de liberación Este artículo se reimprime en: 1729588881 Si hay alguna infracción, comuníquese con [email protected] para eliminarla.
Último tutorial Más>

Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.

Copyright© 2022 湘ICP备2022001581号-3