Manipular las palabras de un texto con Java

Puede ser un requerimiento, cuando se trabajan con textos, conocer la cantidad de palabras del mismo (inclusive las palabras). Ejemplo típico de este requerimiento es para contar las palabras que componen un determinado texto.

Hacer eso en Java es juego de niños gracias a la clase StringTokenizer.

En el siguiente ejemplo veremos la clase StringTokenizer recibe en su constructor el texto y luego con los métodos countTokens, hasMoreElements y nextElement conocemos la cantidad de palabras, recorremos la colección de palabras y obtenemos las mismas, respectivamente.

[JAVA]
public class WordTokenizer {

public static void main(final String[] args) {
int i;
String frase = “Que piensas hacer mañana”;

StringTokenizer palabras = new StringTokenizer(frase);

System.out.println (“Cantidad de palabras de frase: \”” + frase + “\” es ” + palabras.countTokens() );
i=0;
while (palabras.hasMoreElements()) {
i++;
System.out.println( i + “-” + palabras.nextElement());
}
}
}
[/JAVA]

Para sumarle algo de acción al ejemplo, les presento un pequeño ejemplo visto en Java Tips. El siguiente código, basado en lo que aprendimos recién, divide la cadena en palabras (usando StringTokenizer) y luego invierte el orden de la misma utilizando una pila LIFO:

[JAVA]
public class StringReverseWord {

public static void main(String[] args) {

String frase = “Y que hacemos hoy”;
Stack pila = new Stack();

StringTokenizer tempStringTokenizer = new StringTokenizer(frase);

while (tempStringTokenizer.hasMoreTokens()) {
pila.push(tempStringTokenizer.nextElement());
}

System.out.println(“Cadena original: ” + frase);
System.out.println(“Cadena invertida: “);

while(!pila.empty()) {
System.out.println(stack.pop());
}
}

}
[/JAVA]

Vía: LinuxParaTodos

Tags: , , ,


Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.