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.
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.
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.
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.
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