Caso práctico
Después del susto inicial, al recibir el archivo con el formato de pedido, Ana se puso a pensar. Vio que lo más adecuado era procesar el archivo de pedido línea a línea, viendo con que corresponde cada línea a través de expresiones regulares. Aún no le preocupa el procesamiento del fichero, sino más bien cómo procesar los datos leídos del mismo.
Para identificar si hay un inicio o fin de sección dentro del pedido, así como el inicio o fin del listado de artículos, ha decidido usar la siguiente expresión regular:
"^##[ ]*(FIN){0,1}[ ]*(PEDIDO|ARTICULOS)[ ]*##$".
Y para identificar cada dato del pedido (nombre, dirección, etc.) va a utilizar la siguiente expresión regular:
"^(.+):.*\\{(.*)\\}$"
Al usar grupos le permitirá separar el nombre del campo (dirección por ejemplo) de su valor (dirección concreta). La expresión regular le ha costado mucho trabajo y ha tenido que pedir ayuda, pero después, una vez que la ha conseguido, se ha dado cuenta de que ha sido relativamente fácil.
Ana ha decidido de todas formas verificar sus expresiones regulares a través de alguna herramienta online. Para ello, se ha puesto a investigar sobre algunas de ellas y en principio utilizará freeformatter. Para ello, tomando los datos de ejemplo del fichero de pedidos, podrá comprobar que sus expresiones regulares están bien formadas.
Ya tiene parte del trabajo hecho. Como comentamos arriba, aún no le preocupa el procesado del fichero sino la parte de artículos. Básicamente tiene dudas sobre donde almacenar la información procesada, en especial, la lista de artículos.
Acrónimo inglés de8-bit Unicode Transformation Format, que significa formato de Transformación Unicode de 8 bits. Una de las codificaciones de caracteres, recogidas dentro del estándar Unicode, más utilizada hoy día.