Bonjour ,
si j'ai la chaine suivantecomment je peux extraire le mot fixes à l'aide de la fonction splitCode:$var fixe -> fixe,fixes =
merci d'avance
Version imprimable
Bonjour ,
si j'ai la chaine suivantecomment je peux extraire le mot fixes à l'aide de la fonction splitCode:$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:
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:
1
2 my $chaine = '$var fixe -> fixe,fixes ='; print [ split /[, ]/, $chaine]->[4]; # imprime "fixes"