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.

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());
        }
    }
}

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:

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());
        }
    }

}

Vía: LinuxParaTodos

3 comentario en este artículoDeje el suyo
  1. NECESITO INFORMACION SOBRE LA APLICACION ANALIZADOR SINTACTICO

  2. muy bueno el codigo, yo pensaba que solo se podia hacer con jflex, esto resulta mucho más práctico para lo que necesito

  3. Exelente codigo me sera de gran utilidad te lo agradezco mucho

Deje su comentario

Por favor, ingrese su nombre

Por favor, ingrese un correo-e válido

Por favor, ingrese su mensaje

luauf.com 2012

WordPress