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 :

[langage] [RegExp] Détecter un chemin Windows


Sujet :

Langage Perl

  1. #1
    Expert confirmé
    Avatar de GLDavid
    Homme Profil pro
    Service Delivery Manager
    Inscrit en
    Janvier 2003
    Messages
    2 852
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Service Delivery Manager
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Janvier 2003
    Messages : 2 852
    Points : 4 759
    Points
    4 759
    Par défaut [langage] [RegExp] Détecter un chemin Windows
    Bonjour !

    Dans le cadre "Changez mes scripts Perl Windows vers Linux", voici mon problème. Je veux détecter un motif qui soit un chemin de répertoire sous Windows. Voici comment je m'y prend (d'ailleurs très mal) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    $change = " # amino acids = 22926410, # proteins = 54115, C:\Xcalibur\database\IPI\ipi.HUMAN-07-08-2004.v2.34.fasta";
    $change =~ s/C:\\Xcalibur\\database\\IPI\\//;
    print "$change\n";
    J'admet que c'est la méthode "naïve" mais j'en ai essayé d'autre et je n'y arrive pas. Quelqu'un peut me venir en aide ?

    Merci d'avance.

    @ ++
    GLDavid
    Consultez la FAQ Perl ainsi que mes cours de Perl.
    N'oubliez pas les balises code ni le tag

    Je ne répond à aucune question technique par MP.

  2. #2
    Membre du Club
    Inscrit en
    Août 2004
    Messages
    50
    Détails du profil
    Informations forums :
    Inscription : Août 2004
    Messages : 50
    Points : 60
    Points
    60
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    my $change = " # amino acids = 22926410, # proteins = 54115, C:\\Xcalibur\\database\\IPI\\ipi.HUMAN-07-08-2004.v2.34.fasta"; 
     
    use File::Basename;
     
    fileparse_set_fstype ('MSWin32');
    my ($nom, $chemin, $suffix) = fileparse ($change);
     
    print "$nom";

  3. #3
    Expert confirmé
    Avatar de GLDavid
    Homme Profil pro
    Service Delivery Manager
    Inscrit en
    Janvier 2003
    Messages
    2 852
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Service Delivery Manager
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Janvier 2003
    Messages : 2 852
    Points : 4 759
    Points
    4 759
    Par défaut
    Merci Dmitry de ta réponse mais je pense avoir mal formulé ma question, autant pour moi. L'idée est de remplacer le chemin Windows vers un chemin Linux.
    D'où :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $change ~= s/C:\\Toto\\database\\/\/home/Toto\/database\//;
    Mais bon, tel quel, ça marche pô !
    Désolé encore d'avoir mal formulé ma missive.

    Et merci d'avance de vos réponses.

    @ ++
    GLDavid
    Consultez la FAQ Perl ainsi que mes cours de Perl.
    N'oubliez pas les balises code ni le tag

    Je ne répond à aucune question technique par MP.

  4. #4
    Expert confirmé
    Avatar de GLDavid
    Homme Profil pro
    Service Delivery Manager
    Inscrit en
    Janvier 2003
    Messages
    2 852
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Service Delivery Manager
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Janvier 2003
    Messages : 2 852
    Points : 4 759
    Points
    4 759
    Par défaut
    Ok, c'est bon, j'ai trouvé :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    $change = " # amino acids = 22926410, # proteins = 54115, C:\Xcalibur\database\IPI\ipi.HUMAN-07-08-2004.v2.34.fasta";
    print "$change\n";
    $change =~ s/C:\Xcalibur/\/home\/david\//;
    $change =~ s/databaseIPI/database\//;
    print "$change\n";
    Merci encore à ceux qui m'auront aidé :o

    @ ++
    GLDavid
    Consultez la FAQ Perl ainsi que mes cours de Perl.
    N'oubliez pas les balises code ni le tag

    Je ne répond à aucune question technique par MP.

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

Discussions similaires

  1. [langage]parcours fichier txt en perl sous windows
    Par stef74 dans le forum Langage
    Réponses: 12
    Dernier message: 23/06/2005, 16h39
  2. [langage] [RegExp] Récupérer une portion de phrase
    Par GLDavid dans le forum Langage
    Réponses: 4
    Dernier message: 27/08/2004, 22h01
  3. chemin windows
    Par Bug's Bunny dans le forum Windows
    Réponses: 3
    Dernier message: 07/06/2004, 11h39
  4. [langage] [RegExp] Question d'expression régulière
    Par cloogy dans le forum Langage
    Réponses: 5
    Dernier message: 08/10/2003, 09h29
  5. quel langage choisir pour faire de script sous windows
    Par pas05 dans le forum Langages de programmation
    Réponses: 7
    Dernier message: 18/11/2002, 22h42

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