Mie Jun 04, 2008 7:11 am
|
 |
fgalves
Perlero Adicto

|
Registrado: 25 Sep 2006
Mensajes: 210
|
|
| Problema con expresión regular |
|
|
Hola a todos,
Tengo un problema con una expresión regular.
En $input, tengo una cadena de elementos separados por el carácter coma (,). De hecho se trata de un fichero .csv (comma separated value).
El problema es que desconozco el número de elementos.
Lo que pretendo es crear una expresión regular que me permita leer dicho fichero línea por línea (todas las líneas del fichero tienen el mismo número de columnas) y recuperar los elementos separados por las comas.
¿Alguien tiene alguna sugerencia?
Gracias por adelantado,
Saludos,
Felipe |
|
|
|
Mie Jun 04, 2008 1:07 pm
|
 |
monoswim
Vive para Perl en Español

|
Registrado: 18 Nov 2003
Mensajes: 716
Ubicación: Buenos Aires
|
|
|
|
|
No necesitas expresiones regulares... abres el archivo, y procesas línea por línea...
| Perl: | open(FILE, "fichero.csv");
while my $line (<FILE>){
my @columnas = split(/\,/, $line);
}
close FILE; |
Espero que te sirva.
Saludos |
|
Mie Jun 04, 2008 1:20 pm
|
 |
explorer
Moderador

|
Registrado: 24 Jul 2005
Mensajes: 4089
Ubicación: Valladolid, España
|
|
|
|
|
Mejor
| Perl: | my @columnas = split(',', $line); |
El problema es si entre los valores existe el carácter ','.
En esos casos, usar alguno de los módulos para csv. Por ejemplo, Text::CSV, que está compilado en binario. |
|
Jue Jun 05, 2008 12:34 am
|
 |
fgalves
Perlero Adicto

|
Registrado: 25 Sep 2006
Mensajes: 210
|
|
|
|
|
¡¡Mil gracias a los dos!!
Explorer, afortunadamente el carácter ',' no aparece entre los valores así que vuestra solución es perfecta. Pero siempre va bien saber que en CPAN existen módulos para procesar ficheros CSV.
Muchas gracias,
Un cordial saludo,
Felipe |
|
Powered by phpBB © 2001, 2005 phpBB Group
|