[PERL] Modification chaine de caractères

[Fermé]
Signaler
Messages postés
63
Date d'inscription
lundi 2 juillet 2007
Statut
Membre
Dernière intervention
25 mars 2011
-
Messages postés
21331
Date d'inscription
jeudi 4 novembre 2004
Statut
Modérateur, Contributeur sécurité
Dernière intervention
30 octobre 2019
-
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.

3 réponses

Messages postés
21331
Date d'inscription
jeudi 4 novembre 2004
Statut
Modérateur, Contributeur sécurité
Dernière intervention
30 octobre 2019
3 554
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__

Messages postés
63
Date d'inscription
lundi 2 juillet 2007
Statut
Membre
Dernière intervention
25 mars 2011
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 !
Messages postés
21331
Date d'inscription
jeudi 4 novembre 2004
Statut
Modérateur, Contributeur sécurité
Dernière intervention
30 octobre 2019
3 554
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 ;-).