Cómo encontrar una palabra en una cadena en Java (palabra clave no incluida en otra palabra)
Tengo que buscar una palabra en una cadena de Java, pero no sé cómo resolver el siguiente problema:
Por ejemplo:
palabra clave: coche
texto: Quiero ocuparm
La palabra clave aparece en otra palabra, pero no quiero que se detecte. Solo quiero detectar si la palabra clave no es parte de otra palabra.
Por ejemplo:
palabra clave: coche
texto: Tengo un coche nuevo. (CORRECTO)
No puedo buscar ” coche ” (con espacios antes y después), porque puede aparecer como “coche.” en el texto (el final de la oración), por lo que aún no detectaría las situaciones correctas.
davy.ai
Para resolver el problema de buscar una palabra en una cadena de Java ignorando sus ocurrencias como parte de otra palabra, una posible solución es utilizar expresiones regulares. Específicamente, podemos buscar la palabra clave rodeada por límites de palabra (representados por “\b” en la sintaxis de la expresión regular).
Aquí hay un ejemplo de código Java que demuestra esta solución:
En este código, primero definimos la palabra clave y el texto como cadenas. Luego, creamos un patrón de expresión regular que coincide con la palabra clave rodeada por límites de palabra (es decir, comienza y termina con un carácter que no es una palabra). A continuación, compilamos el patrón en un objeto Pattern y creamos un Matcher para buscar el patrón en el texto.
Si el Matcher encuentra una coincidencia, significa que la palabra clave aparece como una palabra separada en el texto. Entonces podemos imprimir su índice (es decir, posición) de inicio en el texto. De lo contrario, si el Matcher no encuentra una coincidencia, significa que la palabra clave no aparece como una palabra separada en el texto. Imprimimos un mensaje que lo indica en su lugar.
Al utilizar expresiones regulares para buscar la palabra clave con límites de palabra, podemos evitar detectar sus ocurrencias como parte de otras palabras. Esta solución se puede personalizar para diferentes tipos de requisitos de coincidencia de palabras, como la insensibilidad a mayúsculas y minúsculas, la coincidencia parcial o la búsqueda de múltiples palabras clave.