Saltar al contenido

Cómo encontrar una palabra completa en una cadena en java

Solución:

El siguiente ejemplo se basa en sus comentarios. Utiliza una lista de palabras clave, que se buscarán en una cadena determinada utilizando límites de palabras. Utiliza StringUtils de Apache Commons Lang para construir la expresión regular e imprimir los grupos coincidentes.

String text = "I will come and meet you at the woods 123woods and all the woods";

List<String> tokens = new ArrayList<String>();
tokens.add("123woods");
tokens.add("woods");

String patternString = "\b(" + StringUtils.join(tokens, "|") + ")\b";
Pattern pattern = Pattern.compile(patternString);
Matcher matcher = pattern.matcher(text);

while (matcher.find()) {
    System.out.println(matcher.group(1));
}

Si está buscando más rendimiento, podría echar un vistazo a StringSearch: algoritmos de coincidencia de patrones de alto rendimiento en Java.

Use expresiones regulares + límites de palabras cuando otros respondieron.

"I will come and meet you at the 123woods".matches(".*\b123woods\b.*");

será verdad.

"I will come and meet you at the 123woods".matches(".*\bwoods\b.*");

será falso.

Espero que esto funcione para usted:

String string = "I will come and meet you at the 123woods";
String keyword = "123woods";

Boolean found = Arrays.asList(string.split(" ")).contains(keyword);
if(found){
      System.out.println("Keyword matched the string");
}

http://codigounico.blogspot.com/

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *