[PERL] Modification chaine de caractères

TMart Messages postés 63 Date d'inscription   Statut Membre Dernière intervention   -  
lami20j Messages postés 21331 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   -
Bonjour,

J'ai extrêmement de mal avec PERL et les expressions régulières, je suis désolé.

Je cherche simplement à modifier une chaine de caractère sous la forme :
\chemin\fichier.txt
en
fichier.txt

Merci d'avance.
TMart.
A voir également:

3 réponses

lami20j Messages postés 21331 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 570
 
Salut,


Par exemple
#!/usr/bin/perl
use strict;use warnings;

my $s='\chemin\fichier.txt';
print $s,"\n";
(my $temp = $s) =~ s/.*\\//;
print $temp,"\n";
__END__

0
TMart Messages postés 63 Date d'inscription   Statut Membre Dernière intervention   7
 
Merci pour la réponse l'Ami 20j, mais justement j'allais poster que j'avais enfin trouver par force de persévérance !

Je sais pas ce que t'en penses, mais pour moi ça marche comme je le souhaitais :

$fichier =~ s/.*\/*\///;

TMart.

PS : je viens de m'apercevoir aussi je me suis trompé de slash dans l'exemple précédent.

Soyez Excellent ! Soyez Exia !
0
lami20j Messages postés 21331 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 570
 
Salut,

Oui, on peut supprimer directement les caractères de la chaîne.
J'ai choisi de stocker dans une chaine temporaire le résultat pour laisser le contenu de la variable intact.
(my $temp = $s) =~ s/.*\\//;

Pour modifier directement la variable ta solution est la bonne (bien sûr avec la correction de la regex ;-).


0