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 :

la fonction split pour perl


Sujet :

Langage Perl

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Avril 2009
    Messages
    128
    Détails du profil
    Informations forums :
    Inscription : Avril 2009
    Messages : 128
    Par défaut la fonction split pour perl
    Bonjour ,
    si j'ai la chaine suivante
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     $var fixe -> fixe,fixes =
    comment je peux extraire le mot fixes à l'aide de la fonction split
    merci d'avance

  2. #2
    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
    Il faudrait que tu expliques un peu plus comment on sait ce que tu veux extraire, ou donnes plusieurs exemples.

    Là, si tu veux récupérer le mot compris entre la virgule et l'espace qui suit, je dirais que tu splittes sur la virgule, puis récupères le deuxième élément du tableau (qui contiendra "fixes ="), puis splittes une nouvelle fois ce deuxième élément sur l'espace et récupères le premier élément du nouveau tableau.

    Tu peux même le faire en une seule fois en splittant sur l'espace et la virgule (à l'aide d'une classe de caractère contenant ces deux choses: [, ] comme motif de splittage) et en récupérant le cinquième élément (indice 4) du tableau:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    my $chaine = '$var fixe -> fixe,fixes =';
    my @list_of_words = split  /[, ]/, $chaine;
    print $list_of_words[4], "\n"; # imprime "fixes"
    Mais ceci ne marche que si tes données ont toujours exactement le même format. Par exemple, s'il est possible qu'il y ait deux ou plusieurs espaces au lieu d'un dans ta chaîne avant le motif cible, il faut remplacer [, ] par quelque chose comme (,|\s+)

    Il y a moyen de faire encore plus concis, mais ça devient un peu compliqué pour quelqu'un qui pose cette question, et d'une façon générale moins lisible. Je la donne quand même pour ceux qui ça intéressent:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    my $chaine = '$var fixe -> fixe,fixes =';
    print [ split /[, ]/, $chaine]->[4]; # imprime "fixes"

Discussions similaires

  1. fonction split en perl
    Par rimenis dans le forum Langage
    Réponses: 2
    Dernier message: 12/11/2012, 09h12
  2. [XL-2003] Nombre de caractères limité pour la fonction "Split" ?
    Par vincent-57 dans le forum Macros et VBA Excel
    Réponses: 13
    Dernier message: 01/07/2009, 10h29
  3. besoin d'aide pour fonction split
    Par remitbo dans le forum Langage SQL
    Réponses: 1
    Dernier message: 05/06/2009, 12h45
  4. Fonction split pour chaines de caractères
    Par Munkey74 dans le forum Langage
    Réponses: 6
    Dernier message: 05/06/2007, 21h34
  5. Un peu d'aide pour la fonction split
    Par azorol dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 11/01/2007, 10h20

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