"Si un trabajador quiere hacer bien su trabajo, primero debe afilar sus herramientas." - Confucio, "Las Analectas de Confucio. Lu Linggong"
Página delantera > Programación > ¿Cómo funciona Scanner.useDelimiter() de Java con expresiones regulares?

¿Cómo funciona Scanner.useDelimiter() de Java con expresiones regulares?

Publicado el 2024-12-25
Navegar:179

How Does Java\'s Scanner.useDelimiter() Work with Regular Expressions?

Comprensión de los delimitadores con Scanner.useDelimiter en Java

La clase Scanner en Java proporciona el método useDelimiter, que le permite especificar un delimitador (un carácter o patrón) que separa fichas. Sin embargo, el uso de delimitadores puede resultar confuso para los principiantes. Analicémoslo en términos más simples.

Considere el fragmento:

sc = new Scanner(new File(dataFile));
sc.useDelimiter(",|\r\n");

En este ejemplo, el delimitador se define como una combinación de una coma (",") y un retorno de carro seguido de una nueva línea ("\ r\n"). El escáner utilizará este delimitador para separar tokens en el archivo de datos.

Comprensión de las expresiones regulares

El delimitador que especifica en useDelimiter es una expresión regular. Las expresiones regulares son patrones que se utilizan para hacer coincidir caracteres o secuencias. El delimitador ",|\r\n" especifica que un token termina con una coma o un retorno de carro seguido de una nueva línea.

Un ejemplo

Tomemos un ejemplo:

String input = "1 fish 2 fish red fish blue fish";
Scanner s = new Scanner(input).useDelimiter("\\s*fish\\s*");
System.out.println(s.nextInt());   // prints: 1
System.out.println(s.nextInt());   // prints: 2
System.out.println(s.next());      // prints: red
System.out.println(s.next());      // prints: blue
s.close();

En este ejemplo, el delimitador es "\sfish\s". \\s* indica que puede haber cualquier número de espacios en blanco (incluido cero) antes o después de la palabra "pez". Esto significa que el escáner comparará y extraerá tokens como "1 pez", "2 peces", etc.

Conclusión

Recuerde que cuando utilice useDelimiter en Java, es importante comprender expresiones. Puede encontrar tutoriales detallados en línea para mejorar su conocimiento de los patrones de expresiones regulares. Con una comprensión adecuada de los delimitadores y las expresiones regulares, puede analizar y extraer datos de archivos de texto de manera eficiente utilizando la clase Scanner.

Último tutorial Más>

Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.

Copyright© 2022 湘ICP备2022001581号-3