Bonjour ,
si j'ai la chaine suivantecomment je peux extraire le mot fixes à l'aide de la fonction split
Code : Sélectionner tout - Visualiser dans une fenêtre à part $var fixe -> fixe,fixes =
merci d'avance
Bonjour ,
si j'ai la chaine suivantecomment je peux extraire le mot fixes à l'aide de la fonction split
Code : Sélectionner tout - Visualiser dans une fenêtre à part $var fixe -> fixe,fixes =
merci d'avance
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:
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+)
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"
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"
- La programmation fonctionnelle en Perl : 1. Les opérateurs de liste; 2. Les fonctions d'ordre supérieur; 3. Étendre le langage.
- Comment utiliser des décorateurs en Perl: Un tutoriel pour changer le comportement d'une fonction sans en modifier le code source
- De Perl 5 à Perl 6 : 1. Les bases; 2. Les nouveautés; 3. Approfondissements; 4. Annexe 1: Ce qui change entre Perl 5 et Perl 6; Annexe 2: Les nouveautés de Perl 6.
- Les regex et grammaires de Perl 6
- Objets, classes et rôles en Perl 6 - Tutoriel de programmation orientée objet
- Tour d'horizon du nouveau langage Perl 6
Partager