Ver Mensaje Individual
  #2 (permalink)  
Antiguo 01/03/2014, 05:43
Avatar de chuidiang
chuidiang
Colaborador
 
Fecha de Ingreso: octubre-2004
Mensajes: 3.774
Antigüedad: 19 años, 7 meses
Puntos: 454
Respuesta: Java contains + equals

Creo que es más fácil, si es el espacio el que separa las palabras, añádelo detrás

Código Java:
Ver original
  1. if(words.contains(words2.split(" ")[0]+" "){
  2. out put (" si ") ;
  3. }

Si quieres algo más complejo, puede usar expresiones regulares, así

Código Java:
Ver original
  1. System.out.println("hola que tal me llamo xavi".matches(".*\\bhol\\b.*"));
  2. System.out.println("hola que tal me llamo xavi".matches(".*\\bhola\\b.*"));
  3. System.out.println("hola,que tal me llamo xavi".matches(".*\\bhola\\b.*"));

Debes poner .*\\b delante de la palabra que estés buscando (hol en tu caso) y \\b.* detrás. \\b representa un límite de palabra (espacio, tabulador, coma, punto, fin de linea, inicio de linea, ...) . Los .* representan cualquier número de caracteres, sean los que sean. En resumen, se busca la palabra "hol" o "hola" como palabra completa sin importar su posición.

En esos ejemplos que te he puesto, la primera devuelve false y las otras dos true. Fíjate que en la última he puesto una , en vez de un espacio y aun así funciona.

Si quieres que la palabra buscada esté al principio, en vez de .*\\b delante, pon un ^, así

Código Java:
Ver original
  1. // false
  2. System.out.println("hola que tal me llamo xavi".matches("^hol\\b.*"));
  3.  
  4. // true
  5. System.out.println("hola que tal me llamo xavi".matches("^hola\\b.*"));

Se bueno.
__________________
Apuntes Java
Wiki de Programación