• Publicidad

Problema con expresión regular

¿Apenas comienzas con Perl? En este foro podrás encontrar y hacer preguntas básicas de Perl con respuestas aptas a tu nivel.

Problema con expresión regular

Notapor fgalves » 2008-06-04 08:11 @383

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
fgalves
Perlero nuevo
Perlero nuevo
 
Mensajes: 210
Registrado: 2006-09-25 13:54 @621

Publicidad

Notapor monoswim » 2008-06-04 14:07 @630

No necesitas expresiones regulares... abres el archivo, y procesas línea por línea...

Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
open(FILE, "fichero.csv");
while my $line (<FILE>){
   my @columnas = split(/\,/, $line);
}
close FILE;
Coloreado en 0.002 segundos, usando GeSHi 1.0.8.4


Espero que te sirva.

Saludos
MonoSwim
Perl Programming Language
Avatar de Usuario
monoswim
Perlero nuevo
Perlero nuevo
 
Mensajes: 452
Registrado: 2003-11-18 16:13 @717
Ubicación: Buenos Aires

Notapor explorer » 2008-06-04 14:20 @639

Mejor
Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
my @columnas = split(',', $line);
Coloreado en 0.001 segundos, usando GeSHi 1.0.8.4


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.
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14476
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España

Notapor fgalves » 2008-06-05 01:34 @107

¡¡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
fgalves
Perlero nuevo
Perlero nuevo
 
Mensajes: 210
Registrado: 2006-09-25 13:54 @621


Volver a Básico

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 0 invitados