Programación en Java/La clase StringTokenizer

La clase String Tokenizer permite a una aplicación dividir una cadena en tokens. El metodo para dividir la cadena es mucho mas simple que el usado por la clase StreamTokenizer. Los metodos de la clase StringTokenizer no distinguen entre identificadores, números y comillas, ni reconocen y se saltan los comentarios.

El conjunto de delimitadores (los caracteres que separan los tokens) pueden ser especificados de dos formas, al momento de creacion o especificado para cada token.

Una instancia de StringTokenizer se comporta de una de las dos formas, dependiendo si fue creado con la bandera returnDelims con el valor true o false:

•Si la bandera es false, los caracteres delimitadores sirven para separar los tokens. Un token es la secuencia maxima de caracteres consecutivos que no son delimitadores.

•Si la bandera es true, los caracteres delimitadores son considerados ellos mismos a ser tokens. De esta manera un token funciona de dos formas como un carácter delimitador o una secuencia maxima de caracteres consecutivos que no son delimitadores.

Un objeto StringTokenizer mantiene internamente la posición actual dentro de la cadena que es dividida. Algunas operaciones avanzan esta posición actual a lo largo de los caracteres procesados.

Un token es regresado tomando una subcadena de la cadena que fue usada para crear el objeto StringTokenizer.

El siguiente ejemplo es uno de los que usa el tokenizer. El codigo:

    StringTokenizer st = new StringTokenizer("Esta es una prueba");
    while (st.hasMoreTokens()) {
        System.out.println(st.nextToken());
    }

imprime la siguiente salida:

    Esta
    es
    una
    prueba

StringTokenizer es una clase legada que es mantenida por razones de compatibilidad aunque su uso es disuadido en un nuevo codigo. Es recomendado que si alguien busca esta funcionalidad use el metodo split de String o el paquete java.util.regex package en lugar de eso.

El siguiente ejemplo muestra como el metodo String.split puede ser usado para dividir una cadena en sus tokens básicos.

    String[] result = "Esto es una prueba".split("\\s");
    for (int x=0; x<result.length; x++){
        System.out.println(result[i]);
    }

imprime la siguiente salida:

    Esto
    es
    una
    prueba


version  : 1.35, 11/17/05 since  : JDK1.0 Ver además: [1]