Página 1 de 1

Cambiar nombre de archivo

NotaPublicado: 2017-05-15 14:29 @645
por enric73
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í.

Re: Cambiar nombre de archivo

NotaPublicado: 2017-05-15 15:51 @702
por explorer
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.005 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.005 segundos, usando GeSHi 1.0.8.4
(y... como puedes ver, sí que se podía usar substr() ;) )