CodeGym /Blog Java /Random-ES /StringTokenizer en Java
John Squirrels
Nivel 41
San Francisco

StringTokenizer en Java

Publicado en el grupo Random-ES
La clase StringTokenizer en Java proporciona un método String tokenizador para dividir una cadena en tokens según un delimitador específico. La cadena del tokenizador puede ser cualquier cadena que separe los tokens, como una coma, un punto y coma o un espacio en blanco. Usando el método tokenizer String de la clase StringTokenizer , podemos dividir una cadena en sus partes constituyentes. Al llamar al método nextToken() , podemos recuperar cada token por turno, y al usar el método hasMoreTokens() , podemos verificar si quedan más tokens. El método length() de la clase StringTokenizer se puede utilizar para obtener la longitud de cada token. StringTokenizer String es una herramienta útil para la manipulación de cadenas y se puede utilizar para analizar archivos CSV, URL u otros datos basados ​​en texto. La clase StringTokenizer es parte del paquete Java.util y proporciona una forma sencilla de dividir una cadena en tokens. La clase tiene dos constructores, uno que toma una cadena para tokenizar y un carácter o cadena delimitador, y otro que toma los mismos argumentos así como un indicador booleano que indica si se incluye o no el delimitador como token. Una vez que haya creado un objeto StringTokenizer , puede utilizar sus diversos métodos para recorrer los tokens y realizar diversas operaciones con ellos.

Método de tokenización

El método de tokenización es el proceso de dividir una cadena en partes o tokens más pequeños. Este proceso se realiza mediante un delimitador, que puede ser un carácter o una cadena de caracteres que separa cada token. Por ejemplo, considere la siguiente cadena:
String input = "Hello World! How are you today?";
Si queremos dividir esta cadena en palabras individuales, podemos usar el carácter de espacio como delimitador, así:
StringTokenizer tokenizer = new StringTokenizer(input, " ");
while (tokenizer.hasMoreTokens()) {
    String token = tokenizer.nextToken();
    System.out.println(token);
}

Producción

¡Hola Mundo! ¿Cómo estás hoy?
En este ejemplo, creamos un nuevo objeto StringTokenizer con la cadena de entrada y un carácter de espacio como delimitador. Luego recorremos los tokens usando el método hasMoreTokens() y recuperamos cada token usando el método nextToken() . Finalmente, imprimimos cada token en la consola.

Longitud del token

Además de la funcionalidad básica proporcionada por el método nextToken() , la clase StringTokenizer también proporciona métodos para recuperar la longitud de cada token y para recuperar un token específico por índice. Para obtener la longitud del token actual, puede utilizar el método token.length() . Por ejemplo:
public class StringTokenizerExample {
    public static void main(String[] args) {
        String input = "Hello World! How are you today?";
        StringTokenizer tokenizer = new StringTokenizer(input, " ");
        while (tokenizer.hasMoreTokens()) {
            String token = tokenizer.nextToken();
            System.out.println("Token: " + token + " Length: " + token.length());
        }
    }
}

Producción

Ficha: Hola Longitud: 5 Ficha: ¡Mundo! Longitud: 6 Ficha: Cómo Longitud: 3 Ficha: son Longitud: 3 Ficha: usted Longitud: 3 Ficha: ¿hoy? Longitud: 6
En este ejemplo, recuperamos cada token como antes pero también usamos el método length() para obtener la longitud de cada token, que luego imprimimos en la consola.

Ejemplo

Echemos un vistazo a un ejemplo completo que demuestra cómo utilizar la clase StringTokenizer en Java:
public class Example {
    public static void main(String[] args) {
        String input = "John,Doe,123 Main St.,Anytown,USA";
        StringTokenizer tokenizer = new StringTokenizer(input, ",");
        while (tokenizer.hasMoreTokens()) {
            System.out.println(tokenizer.nextToken());
        }
    }
}

Producción

John Doe 123 Main St. Cualquier ciudad EE. UU.
En este ejemplo, tenemos una cadena que representa una lista de valores separados por comas. Creamos un nuevo objeto StringTokenizer con esta cadena y una coma como delimitador. Luego recorremos los tokens usando el método hasMoreTokens() y recuperamos cada token usando el método nextToken() . Finalmente, imprimimos cada token en la consola. Tenga en cuenta que no utilizamos el método length() en este ejemplo, ya que solo nos interesan los tokens individuales.

Clase StreamTokenizer

Si bien la clase StringTokenizer proporciona una forma sencilla de dividir una cadena en tokens, tiene algunas limitaciones. Por ejemplo, no puede manejar múltiples delimitadores o diferentes tipos de tokens, como números y palabras. Si necesita capacidades de tokenización más avanzadas, puede utilizar la clase StreamTokenizer . Esta clase proporciona más flexibilidad y puede manejar varios tipos de entrada. Para reforzar lo aprendido, te sugerimos ver una lección en video de nuestro Curso de Java

Conclusión

En este artículo, exploramos la clase StringTokenizer en Java y vimos cómo se puede usar para dividir una cadena en tokens. También hemos visto cómo utilizar algunos de los métodos de la clase para realizar diversas operaciones con los tokens, como obtener su longitud y recuperar tokens específicos por índice. Si bien la clase StringTokenizer es una herramienta sencilla y útil, tiene sus limitaciones. Si necesita capacidades de tokenización más avanzadas, considere usar la clase StreamTokenizer o una biblioteca más poderosa como Apache Commons Lang. Recuerde considerar siempre las necesidades específicas de su proyecto al decidir qué herramientas y técnicas utilizar. Con un conocimiento sólido de las clases y métodos de manipulación de cadenas de Java, podrá abordar incluso las tareas de manipulación de cadenas más complejas con facilidad.
Comentarios
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION