IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage Perl Discussion :

Manipulation du nom d'un fichier


Sujet :

Langage Perl

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé

    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    90
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 90
    Par défaut Manipulation du nom d'un fichier
    Bonjour,

    m'affiche actuellement : /home/user/Proj/test1.txt

    Mais j'aimerai seulement afficher test1
    Est-ce possible?

    Merci d'avance.

  2. #2
    Membre habitué
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2012
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2012
    Messages : 10
    Par défaut
    En utilisant le package File::basename disponible sur CPAN.

    Et ensuite :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    my $name = basename ($fic) ;
    print "$name\n" :

  3. #3
    Rédacteur/Modérateur

    Avatar de Lolo78
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Mai 2012
    Messages
    3 612
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mai 2012
    Messages : 3 612
    Billets dans le blog
    1
    Par défaut
    Le package s'appelle File::Basename (avec un B majuscule).

    Et c'est effectivement la meilleure solution.

    Sinon, une expression régulière le fait aussi:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ($basename = $fic) =~ s!^.*/!!;
    Elle supprime tout ce qui précède le dernier /.

  4. #4
    Membre confirmé

    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    90
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 90
    Par défaut
    Merci, j'ai utilisé l'expression régulière.

    Mais j'aimerai aussi pouvoir supprimer le '.txt' si possible ?

  5. #5
    Rédacteur/Modérateur

    Avatar de Lolo78
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Mai 2012
    Messages
    3 612
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mai 2012
    Messages : 3 612
    Billets dans le blog
    1
    Par défaut
    Pareil, tu peux utiliser le paquetage File::Basename ou une seconde expression régulière:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    ($basename = $fic) =~ s!^.*/!!; # supprime le chemin
    $basename =~ s/\.txt$//; # supprime le point et le suffixe

  6. #6
    Membre confirmé

    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    90
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 90
    Par défaut
    Effectivement, cela marche très bien, merci!

    Mais, est-ce je peux avoir si possible une explication de ces 2 expressions régulières ?

    car j'aimerai au final, passer de /home/user/Proj/test_def_ghi.txt
    à def --> ghi

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. manipuler un nom de fichier
    Par laurentSc dans le forum Langage
    Réponses: 5
    Dernier message: 25/08/2013, 15h13
  2. Comment lire le nom d'un fichier ?
    Par Mister_FX dans le forum ASP
    Réponses: 2
    Dernier message: 13/05/2005, 10h27
  3. [résolution de noms] [réseau] problème fichier hosts
    Par Aldo dans le forum Administration
    Réponses: 2
    Dernier message: 11/04/2005, 21h38
  4. sauvegarder le nom d'un fichier grace a un batch ?
    Par Phenomenium dans le forum Windows
    Réponses: 5
    Dernier message: 02/06/2004, 12h16
  5. Recuperer le nom d'un fichier
    Par elvivo dans le forum C
    Réponses: 5
    Dernier message: 27/12/2002, 15h44

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo