Actuellement j'ai un $rep qui retourne une info de type c:\toto\ et un $chemin
qui retourne une info de type c:\toto\titi.txt et je voudrais savoir comment
faire pour avoir un $ avec juste l'info titi.txt.
Merci
--
Ce message a été posté via la plateforme Web club-Internet.fr
This message has been posted by the Web platform club-Internet.fr
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Julien PLEE
Bonjour,
Vous avez deux solutions : soit vous extractez (ortho douteuse :)) ) la chaîne $rep à la chaîne $chemin par le biais des expressions régulières:
$rx_rep = $rep; # On place une barre de séparation à la fin de la chaine si elle n'existe pas $rx_rep =~ s/(?<!)$//; # on s'assure par ce biais que le caractère spécial n'influra pas $rx_rep =~ s/{1}/{2}/; # on récupère dans $1 tout ce qui se trouve après $rep dans $chemin $chemin =~ m/$rx_rep(.*)$/; $fichier = $1;
Cette méthode est un peu douteuse et un peu longue, mais correspond à un type probable d'utilisation, à vous de déterminer si elle vous correspond, mais il est tout de même préférable d'utiliser tant que possible la suivante :
# De cette manière, on récupére tout caractère se trouvant après le dernier "" ou "/" $chemin =~ m/[/]([^/]*)$/; $fichier = $1;
Julien
Bonjour,
Vous avez deux solutions :
soit vous extractez (ortho douteuse :)) ) la chaîne $rep à la chaîne $chemin
par le biais des expressions régulières:
$rx_rep = $rep;
# On place une barre de séparation à la fin de la chaine si elle
n'existe pas
$rx_rep =~ s/(?<!\)$/\/;
# on s'assure par ce biais que le caractère spécial n'influra pas
$rx_rep =~ s/\{1}/\{2}/;
# on récupère dans $1 tout ce qui se trouve après $rep dans $chemin
$chemin =~ m/$rx_rep(.*)$/;
$fichier = $1;
Cette méthode est un peu douteuse et un peu longue, mais correspond à un
type probable d'utilisation, à vous de déterminer si elle vous correspond,
mais il est tout de même préférable d'utiliser tant que possible la suivante
:
# De cette manière, on récupére tout caractère se trouvant après le
dernier "" ou "/"
$chemin =~ m/[\/]([^\/]*)$/;
$fichier = $1;
Vous avez deux solutions : soit vous extractez (ortho douteuse :)) ) la chaîne $rep à la chaîne $chemin par le biais des expressions régulières:
$rx_rep = $rep; # On place une barre de séparation à la fin de la chaine si elle n'existe pas $rx_rep =~ s/(?<!)$//; # on s'assure par ce biais que le caractère spécial n'influra pas $rx_rep =~ s/{1}/{2}/; # on récupère dans $1 tout ce qui se trouve après $rep dans $chemin $chemin =~ m/$rx_rep(.*)$/; $fichier = $1;
Cette méthode est un peu douteuse et un peu longue, mais correspond à un type probable d'utilisation, à vous de déterminer si elle vous correspond, mais il est tout de même préférable d'utiliser tant que possible la suivante :
# De cette manière, on récupére tout caractère se trouvant après le dernier "" ou "/" $chemin =~ m/[/]([^/]*)$/; $fichier = $1;
Julien
lasconic
Bonjour,
Actuellement j'ai un $rep qui retourne une info de type c:toto et un $chemin qui retourne une info de type c:tototiti.txt et je voudrais savoir comment faire pour avoir un $ avec juste l'info titi.txt.
Merci
Sinon on peut utiliser File::Basename je pense et les methodes basename et dirname
voilà Lasconic
Bonjour,
Actuellement j'ai un $rep qui retourne une info de type c:toto et un $chemin
qui retourne une info de type c:tototiti.txt et je voudrais savoir comment
faire pour avoir un $ avec juste l'info titi.txt.
Merci
Sinon on peut utiliser File::Basename je pense et les methodes basename
et dirname
Actuellement j'ai un $rep qui retourne une info de type c:toto et un $chemin qui retourne une info de type c:tototiti.txt et je voudrais savoir comment faire pour avoir un $ avec juste l'info titi.txt.
Merci
Sinon on peut utiliser File::Basename je pense et les methodes basename et dirname
voilà Lasconic
Laurent Wacrenier
Orion93 écrit:
Actuellement j'ai un $rep qui retourne une info de type c:toto et un $chemin qui retourne une info de type c:tototiti.txt et je voudrais savoir comment faire pour avoir un $ avec juste l'info titi.txt.
my ($b) = $rep =~ /([^]*)$/;
Orion93 <sorion93@hotmail.com> écrit:
Actuellement j'ai un $rep qui retourne une info de type c:toto et un $chemin
qui retourne une info de type c:tototiti.txt et je voudrais savoir comment
faire pour avoir un $ avec juste l'info titi.txt.
Actuellement j'ai un $rep qui retourne une info de type c:toto et un $chemin qui retourne une info de type c:tototiti.txt et je voudrais savoir comment faire pour avoir un $ avec juste l'info titi.txt.
my ($b) = $rep =~ /([^]*)$/;
Benoit Izac
Bonjour,
le 23/04/2004 à 13:02, Julien PLEE a écrit dans le message <c6at3f$lk3$ :
Vous avez deux solutions : soit vous extractez (ortho douteuse :)) ) la chaîne $rep à la chaîne $chemin par le biais des expressions régulières:
$rx_rep = $rep; # On place une barre de séparation à la fin de la chaine si elle n'existe pas $rx_rep =~ s/(?<!)$//; # on s'assure par ce biais que le caractère spécial n'influra pas $rx_rep =~ s/{1}/{2}/; # on récupère dans $1 tout ce qui se trouve après $rep dans $chemin $chemin =~ m/$rx_rep(.*)$/; $fichier = $1;
Cette méthode est un peu douteuse et un peu longue, mais correspond à un type probable d'utilisation, à vous de déterminer si elle vous correspond, [...]
on peut faire ça en une fois : ($fichier = $chemin) =~ s/Q$repE(.*)/$1/;
-- Benoit Izac
Bonjour,
le 23/04/2004 à 13:02, Julien PLEE a écrit
dans le message <c6at3f$lk3$1@news-reader4.wanadoo.fr> :
Vous avez deux solutions :
soit vous extractez (ortho douteuse :)) ) la chaîne $rep à la chaîne $chemin
par le biais des expressions régulières:
$rx_rep = $rep;
# On place une barre de séparation à la fin de la chaine si elle
n'existe pas
$rx_rep =~ s/(?<!\)$/\/;
# on s'assure par ce biais que le caractère spécial n'influra pas
$rx_rep =~ s/\{1}/\{2}/;
# on récupère dans $1 tout ce qui se trouve après $rep dans $chemin
$chemin =~ m/$rx_rep(.*)$/;
$fichier = $1;
Cette méthode est un peu douteuse et un peu longue, mais correspond à un
type probable d'utilisation, à vous de déterminer si elle vous correspond,
[...]
on peut faire ça en une fois :
($fichier = $chemin) =~ s/Q$repE(.*)/$1/;
le 23/04/2004 à 13:02, Julien PLEE a écrit dans le message <c6at3f$lk3$ :
Vous avez deux solutions : soit vous extractez (ortho douteuse :)) ) la chaîne $rep à la chaîne $chemin par le biais des expressions régulières:
$rx_rep = $rep; # On place une barre de séparation à la fin de la chaine si elle n'existe pas $rx_rep =~ s/(?<!)$//; # on s'assure par ce biais que le caractère spécial n'influra pas $rx_rep =~ s/{1}/{2}/; # on récupère dans $1 tout ce qui se trouve après $rep dans $chemin $chemin =~ m/$rx_rep(.*)$/; $fichier = $1;
Cette méthode est un peu douteuse et un peu longue, mais correspond à un type probable d'utilisation, à vous de déterminer si elle vous correspond, [...]
on peut faire ça en une fois : ($fichier = $chemin) =~ s/Q$repE(.*)/$1/;