Récupérer extension d'un fichier - Perl - Programmation
Marsh Posté le 19-06-2015 à 14:33:31
Je te laisse cogiter sur ce que fait ce programme:
Code :
|
A+,
Marsh Posté le 19-06-2015 à 14:37:00
Tu as déjà posé pratiquement la même question: http://forum.hardware.fr/hfr/Progr [...] 3889_1.htm
Tu prends la réponse de gilou et tu adaptes, soit transformer en regex "simple" et modifier la place des parenthèses.
EDIT: Regarde chez gilou, j'ai dit des bêtises. :-(
Marsh Posté le 19-06-2015 à 14:43:05
Je pensais qu'il y avait une solution plus simple pour récupérer une extension !
Comme par exemple en shell ou je ferai :
echo toto.txt |awk -F "." '{print $NF}'
Ou dans le même esprit, en perl récupérer juste le nom de fichier sans l'extension avec la commande :
$fichier =~ s/(.+)\.[^.]+/$1/;
Il n'y a pas une commande plus simple ?
Marsh Posté le 19-06-2015 à 15:23:42
Dans le même esprit, tu aurais bien $fichier =~ s/^.*[^.]\.([^.]+)$/$1/; mais le problème, c'est qu'il n'y a pas toujours une extension, et que quand il n'y en a pas, ça foire. Alors il faut bien tester avec un if à un moment donné.
Dans la pratique en fait, pour ce genre de chose, on utilise le module standard File::Basename qui est le truc standard pour les noms de fichiers & co
A+,
Marsh Posté le 19-06-2015 à 15:33:38
Ok merci. C'est exactement ça que je voulais.
Il y aura toujours une extension donc aucun soucis !
Merci encore pour ton aide.
@+
Marsh Posté le 19-06-2015 à 12:22:51
Bonjour,
J'aimerais récupérer l'extension d'un fichier.
J'ai un fichier << toto.txt >>. Je voudrais juste récupérer << txt >>.
J'ai un peu de mal avec les expressions régulières donc est-ce quelqu'un pourrait m'aider svp ?
Merci d'avance.