Split inclusif et exclusif
JamieMacUloth
Messages postés
47
Statut
Membre
-
[Dal] Messages postés 6122 Date d'inscription Statut Contributeur Dernière intervention -
[Dal] Messages postés 6122 Date d'inscription Statut Contributeur Dernière intervention -
Slt tt le monde,
J'ai mettons un string
$str = je - aime les fraises des - bois
et j'aimerais splitter sur les '-' et sur 'fraises' en gardant 'fraises'
J'ai testé ça:
my @arr = split(/-|(fraises)/,$str);
mais ça me met des composantes undef dans le @arr, aucune idée pourquoi.
Le résultat final que j'aimerais obtenir est donc:
je
aime les
fraises
des
bois
Anyone can help pleaz ??
Merci d'avance
J'ai mettons un string
$str = je - aime les fraises des - bois
et j'aimerais splitter sur les '-' et sur 'fraises' en gardant 'fraises'
J'ai testé ça:
my @arr = split(/-|(fraises)/,$str);
mais ça me met des composantes undef dans le @arr, aucune idée pourquoi.
Le résultat final que j'aimerais obtenir est donc:
je
aime les
fraises
des
bois
Anyone can help pleaz ??
Merci d'avance
1 réponse
-
Pas de undef, chez moi. Par contre tu ne gères pas les espaces.
Tu peux utiliser split et retraiter le résultat, en supprimant les tirets et les espaces en trop.
#!/usr/bin/perl use strict; use warnings; use Data::Dumper; my @list = split(/(\s-\s|\sfraises\s)/, "je - aime les fraises des - bois"); @list = grep(!/\s-\s/, @list); # remove hyphens from list for (@list) { s/\sfraises\s/fraises/; } # remove extra spaces around fraises print Dumper(@list);
donne :$VAR1 = 'je';
$VAR2 = 'aime les';
$VAR3 = 'fraises';
$VAR4 = 'des';
$VAR5 = 'bois';
Dal