Perl en Español

  1. Home
  2. Tutoriales
  3. Foro
  4. Artículos
  5. Donativos
  6. Publicidad
 

Leer Fichero - Separar campos de cada registro

 
Publicar nuevo tema   Responder al tema    Foros de discusión -> Básico
Mensaje Lun Abr 10, 2006 4:08 am
fonsox
Perlero Nuevo
Perlero Nuevo
Registrado: 29 Mar 2006
Mensajes: 5
Leer Fichero - Separar campos de cada registro Responder citando

Hola.

No encuentro, deben ser la torrijas Very Happy , la forma de leer un fichero y separar por posicion los campos de cada registro.

Ejemplo Registro:

1234567890nombre apellidos direccion

Quiero obtener
CAMPO1 : Los primeros 10 caracteres
CAMPO2 : De la posicion 11 a la 24
CAMPO3 : De la posicion 25 a la 42
CAMPO4 : De la posicion 43 a la 60

Un saludo,
alfonso.
Mensaje Lun Abr 10, 2006 4:45 am
explorer
Moderador
Moderador
Registrado: 24 Jul 2005
Mensajes: 4129
Ubicación: Valladolid, España
Responder citando

¿unpack?
Código:
$linea = '1234567890nombre        apellidos         direccion ';
($campo1,$campo2,$campo3,$campo4)=unpack("a10 a14 a18 a18", $linea);


Ultima edición por explorer el Mar Abr 11, 2006 3:46 am, editado 1 vez
Mensaje Mar Abr 11, 2006 3:06 am
preiddy
Perlero Nuevo
Perlero Nuevo
Registrado: 29 Mar 2006
Mensajes: 50
Responder citando

Respuesta rápida
Código:
$linea='1234567890nombre apellidos direccion';
$linea=~s/([0-9]+)/$1 $_/;
@c=split(/ +/, $linea);
print "Campo1:$c[0]\nCampo2:$c[1]\nCampo3:$c[2]\nCampo4:$c[3]\n";

Espero te sirva
Publicar nuevo tema   Responder al tema    Foros de discusión -> Básico Todas las horas son GMT - 6 Horas
Página 1 de 1



Powered by phpBB © 2001, 2005 phpBB Group