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 :

combinaison de split et de pattern


Sujet :

Langage Perl

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Novembre 2002
    Messages
    55
    Détails du profil
    Informations forums :
    Inscription : Novembre 2002
    Messages : 55
    Par défaut combinaison de split et de pattern
    bonjour tout le monde,
    une commande est lancée, le résultat de cette commande est stockée dans une variable que j'appelle $data. Des données qui se trouvent dans $data, je ne voudrais extraire que les lignes qui ne commencent pas par 2 espaces.
    je vous livre ces 2 lignes ci-dessous pour vous donner l'esprit... comme c'est là ecrit, je mets plutôt mes lignes avec mes 2 espaces dans le tableau et je voudrais le contraire...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
      my $data = qx(cmd);
      my @table = (split /\n/, $data) =~ m/\s\s(.*)/;
    D'avance, merci pour l'aide
    Nicolas

  2. #2
    Membre Expert
    Avatar de 2Eurocents
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    2 177
    Détails du profil
    Informations personnelles :
    Âge : 55
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 2 177
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    my $data = qx(cmd);
    my @table = grep { s/^\s\s// } (split /\n/, $data);
    • Le split sépare les éléments dans une liste.
    • Le grep supprime les deux blancs initiaux, s'il y en a.
    • et comme en cas de substitution réussie par le s///, la valeur de l'expression de substitution est vraie, le grep sélectionne tous les éléments pour lesquels il a fait une substitution.

  3. #3
    Membre confirmé
    Inscrit en
    Novembre 2002
    Messages
    55
    Détails du profil
    Informations forums :
    Inscription : Novembre 2002
    Messages : 55
    Par défaut
    merci,

    mais en fait, je ne veux pas faire de substitution et je veux pas stocker les elements subtitués... En fait, ce que je souhaite, c'est justement le contraire, c'est ne pas selectionner les lignes qui commencent par les 2 espaces. Quelle modif faut il alors apporter à

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    my @table = grep { s/^\s\s// } (split /\n/, $data);
    Je vous remercie.

    Nicolas

  4. #4
    Membre Expert
    Avatar de 2Eurocents
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    2 177
    Détails du profil
    Informations personnelles :
    Âge : 55
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 2 177
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    my @table = grep { $_ !~ m/^\s\s/ } (split /\n/, $data);
    =~ signifie : qui correspond au motif suivant ...
    !~ signifie : qui NE correspond PAS au motif suivant ...

    Ca convient ?

  5. #5
    Membre confirmé
    Inscrit en
    Novembre 2002
    Messages
    55
    Détails du profil
    Informations forums :
    Inscription : Novembre 2002
    Messages : 55
    Par défaut
    oui, parfait, merci beaucoup.

    Nicolas

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

Discussions similaires

  1. [Algo] Trouver un arrangement ou une combinaison d'éléments
    Par Morvan Mikael dans le forum Algorithmes et structures de données
    Réponses: 16
    Dernier message: 20/04/2013, 12h46
  2. Combinaison de plusieurs etats avec le pattern State
    Par papaetoo dans le forum Design Patterns
    Réponses: 0
    Dernier message: 18/08/2009, 12h16
  3. [pattern] testez mon split
    Par okoax dans le forum Collection et Stream
    Réponses: 9
    Dernier message: 27/01/2006, 12h58
  4. Split d'un fichier entre 2 patterns
    Par mirascheat dans le forum Langage
    Réponses: 7
    Dernier message: 17/10/2005, 18h58
  5. Réponses: 2
    Dernier message: 22/07/2002, 19h02

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