![]() |
Forum SELFHTML: Archives: |
|
|
Le message suivant est de: Bul,
marcel.bultez@tiscali.fr, 20. 02. 2004, 15:28
http://marcel-bultez.chez.tiscali.fr
bonjour à tous
j'aimerais "éclater" les mots contenus dans un string vers un array
avec comme séparateur de mots : 1 ou n espace[s]
et les mots : mot et/ou "mot s'il contient un[des] espace[s]"
ex=' bonjour " à tous" et merci "par avance"pour "la" réponse';
mot=ex.Eclater; donnerait :
mot[0]="bonjour", mot[1]=" à tous", mot[2]="et", mot[3]="merci",
mot[4]="par avance",mot[5]="pour", mot[6]="la", mot[7]="réponse"
car il doit y avoir plus simple que d'étudier le string
caractère par caractère, je pense ?
comment feriez-vous ? quels conseils pouvez-vous me donner ?
d'avance merci.
Le message suivant est de: David,
moi@moi.com, 20. 02. 2004, 18:24
bonjour,
Tu peut faire ceci en javascript en t'aidant des expressions regulieres (RegEx) voir la page http://selfhtml.selfhtml.com.fr/javascript/objets/regexp.htm a ce sujet.
Bon courage
David
Le message suivant est de: Bul,
marcel.bultez@tiscali.fr, 21. 02. 2004, 11:08
http://marcel-bultez.chez.tiscali.fr
merci d'avoir répondu, david,
j'ai eu du mal avec les expressions régulières,
et grâce à l'aide d'un anonyme, ( que je ne
citerais donc pas ) :
re=/\w+|"[^"]*"/g;
// si besoin des caractères accentués
// re=/[a-zA-Z0-9éèàùêîûôâïüëäöçÇ_\-']+|"[^"]*"/g;
res=s.match(re); //éclate la chaîne d'entrée
for(i=0;i<res.length;i++)
res[i]=res[i].replace(/"/g,""); // on supprime les "
semble fonctionner parfaitement,
enfin, comme ce que je voulais.
merci encore.
Le message suivant est de: David,
moi@moi.com, 21. 02. 2004, 15:35
tant mieux si ca marche alors et a une prochaine fois
© 1998-2004
selfhtml@fr.selfhtml.org