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 :

traitement sur un tableau


Sujet :

Langage Perl

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé
    Avatar de Jasmine80
    Femme Profil pro
    Bioinformaticienne
    Inscrit en
    Octobre 2006
    Messages
    3 157
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 45
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Bioinformaticienne
    Secteur : Santé

    Informations forums :
    Inscription : Octobre 2006
    Messages : 3 157
    Par défaut traitement sur un tableau
    Bonjour à tous,

    J'ai un tableau et j'aimerais enlever à chaque entrée, tout ce qui se trouve avant la première tabulation.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    my @tab_trunc = map{s/^[^\t]*\t(.*)$/$1/} @{$files{$fi}};
    Je n'obtiens que des 1 ... faut-il ajouter () quelque part ? d'avance merci.

  2. #2
    Expert confirmé

    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2009
    Messages
    3 577
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Avril 2009
    Messages : 3 577
    Par défaut
    Soit tu écris :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    map{s/^[^\t]*\t(.*)$/$1/} @{$files{$fi}}; # dans ce cas, le tableau modifié est @files
    Soit tu écris :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    use feature qw(:5.10);
    # ...
    my @tab_trunc = map{s/^[^\t]*\t(.*)$/$1/r} @{$files{$fi}}; # @files inchangé
    ou encore :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    my @tab_trunc = map{my $file = $_; $file =~ s/^[^\t]*\t(.*)$/$1/; $file } @{$files{$fi}}; # @files inchangé
    Dans ton écriture initiale, pour chaque élément de @files, ton map retourne le résultat de s///, c'est à dire 1 s'il y a substitution et 0 sinon.
    Dans mon écriture 2, le s///r retourne une copie de $_ substitué

  3. #3
    Membre éprouvé
    Avatar de Jasmine80
    Femme Profil pro
    Bioinformaticienne
    Inscrit en
    Octobre 2006
    Messages
    3 157
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 45
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Bioinformaticienne
    Secteur : Santé

    Informations forums :
    Inscription : Octobre 2006
    Messages : 3 157
    Par défaut
    Bonjour Philou et merci beaucoup pour ton aide,

    r - perform non-destructive substitution and return the new value
    ... je ne connaissais pas :-) mais c'est vraiment très utile !

    Bonne journée.

  4. #4
    Expert confirmé

    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2009
    Messages
    3 577
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Avril 2009
    Messages : 3 577
    Par défaut
    Toutafait, je l'utilise à foison.

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

Discussions similaires

  1. Traitement sur un tableau de chaines de caratères
    Par Anduriel dans le forum MATLAB
    Réponses: 3
    Dernier message: 02/08/2011, 12h26
  2. erreur sur le traitement d'un tableau
    Par vince2005 dans le forum Langage
    Réponses: 1
    Dernier message: 13/09/2010, 11h19
  3. ajax et traitement sur tableau dans le code behind
    Par bobby51 dans le forum ASP.NET Ajax
    Réponses: 2
    Dernier message: 21/04/2010, 11h12
  4. Comment faire un Drag&Drop sur un tableau
    Par Stef.web dans le forum Composants VCL
    Réponses: 6
    Dernier message: 11/10/2003, 13h12
  5. [VBA-E] Dim dynamique sur un tableau
    Par Vince69 dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 12/12/2002, 13h32

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