[PERL] Modification chaine de caractères

Fermé
TMart Messages postés 63 Date d'inscription lundi 2 juillet 2007 Statut Membre Dernière intervention 25 mars 2011 - 19 avril 2010 à 11:50
lami20j Messages postés 21331 Date d'inscription jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019 - 19 avril 2010 à 15:05
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 jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019 3 567
19 avril 2010 à 14:01
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 lundi 2 juillet 2007 Statut Membre Dernière intervention 25 mars 2011 7
Modifié par TMart le 19/04/2010 à 14:12
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 jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019 3 567
19 avril 2010 à 15:05
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