Dado el archivo de texto de entrada, lea todos los números móviles presentes y escriba en algún archivo de salida.
Supongamos que tenemos un nombre de archivo como input.txt y en ese archivo de entrada tenemos algún Número de móvil que se mezcla con algunos otros datos. Nuestra tarea es leer el archivo de entrada línea por línea y si encontramos algún número en esa línea, tenemos que escribir ese número de móvil en otro archivo, que es el archivo de salida.txt .
Ejemplo :
Criterios de validación del número de móvil:
- El primer dígito debe contener un número entre 7 y 9.
- Los 9 dígitos restantes pueden contener cualquier número entre 0 y 9.
- El número de móvil puede tener 11 dígitos también incluyendo 0
al inicio. - El número de móvil puede ser de 12 dígitos también incluyendo 91
al inicio
El número que cumple con los criterios anteriores es un número de móvil válido.
Enfoque: usamos la expresión regular , primero tenemos que formar una expresión regular para el número de móvil. Cada vez que cualquier número en el archivo input.txt coincida con la expresión regular que formamos para el número móvil, ese número coincidente se escribirá en el archivo output.txt.
A continuación se muestra la implementación de Java por encima del enfoque:
// Java program to read all mobile numbers // present in given file import java.util.regex.*; import java.io.*; class MobileNumberExtraction { public static void main(String[] args) throws IOException { // Write Mobile Numbers to output.txt file PrintWriter pw = new PrintWriter("output.txt"); // Regular expression for mobile number Pattern p = Pattern.compile("(0/91)?[7-9][0-9]{9}"); // BufferedReader for reading from input.txt file BufferedReader br = new BufferedReader (new FileReader("input.txt")); String line = br.readLine(); while (line != null) { Matcher m = p.matcher(line); while (m.find()) { // Write the mobile number to output.txt file pw.println(m.group()); } line = br.readLine(); } pw.flush(); } }
Producción :
7873923408 7205435005
El resultado anterior es para este archivo input.txt:
Abstract classes may have some executable methods and 7873923408 methods left unimplemented. Interfaces contain no implementation code. An abstract class can have non abstract 7205435005 methods. All methods 1234 of an interface are abstract.
Publicación traducida automáticamente
Artículo escrito por Bishal Kumar Dubey y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA