• Publicidad

Cambiar nombre de archivo

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

Cambiar nombre de archivo

Notapor enric73 » 2017-05-15 14:29 @645

Buenas.

Dispongo de un archivo con nombre wrfpost_d01_2017-05-15_00:00:00.grb y necesito dejarlo como wrfpost_d01_2017-05-15_00.grb, es decir, eliminar :00:00.

¿Cómo puedo hacerlo? chop y substract no me sirven; si fueran los primeros o últimos caracteres, sí.
enric73
Perlero Frecuente
Perlero Frecuente
 
Mensajes: 151
Registrado: 2012-03-16 06:27 @311

Publicidad

Re: Cambiar nombre de archivo

Notapor explorer » 2017-05-15 15:51 @702

Se me ocurren dos formas.

La primera es usando una expresión regular:
Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
  1. my $nombre_archivo = 'wrfpost_d01_2017-05-15_00:00:00.grb';
  2. $nombre_archivo =~ s/:00:00//;                          # buscar el patrón, y quitarlo
  3. say $nombre_archivo;
Coloreado en 0.009 segundos, usando GeSHi 1.0.8.4
Esto se puede hacer así porque solo existe un lugar dentro del nombre del archivo que coincide con el patrón ':00:00'.

Otra forma es "quitando" los caracteres de una determinada posición:
Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
  1. my $nombre_archivo = 'wrfpost_d01_2017-05-15_00:00:00.grb';
  2. substr($nombre_archivo, -10, 6) = "";                   # Los 6 caracteres que hay a partir de la posición -10, los sustituimos por ""
  3. say $nombre_archivo;
Coloreado en 0.031 segundos, usando GeSHi 1.0.8.4
(y... como puedes ver, sí que se podía usar substr() ;) )
JF^D Perl Programming
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 13929
Registrado: 2005-07-24 18:12 @800
Ubicación: Madrid, España


Volver a Básico

¿Quién está conectado?

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