Bonjour,
J'ai une chaine qui est comme celà :
#nom
(
age
poids
)
#nom
(
age
poids
)
#nom
(
age
poids
)
Ce qui donne :
#dupont
(
31
80
)
#durand
(
32
100
)
etc
Je voudrais recuperer en fonction du nom, le poids et l'age
Avez vous une idée ?
Merci !
Version imprimable
Bonjour,
J'ai une chaine qui est comme celà :
#nom
(
age
poids
)
#nom
(
age
poids
)
#nom
(
age
poids
)
Ce qui donne :
#dupont
(
31
80
)
#durand
(
32
100
)
etc
Je voudrais recuperer en fonction du nom, le poids et l'age
Avez vous une idée ?
Merci !
Salut,
resultat dans match[1] et match[2]Code:
1
2
3 name = 'dupont'; var rex = new RegExp("#"+name+"\n\\(\n(\\d+)\n(\\d+)", "gi"); match = rex.exec(str);
Je viens de decouvrir cette fonction, merci beaucoup ! Mais celà ne fonctionne pas.
Avec un exemple plus simple :
#dupont(31,80)
comment on procede pour trouver dupont ?
merci beaucoup !
Attention a tes retours a la ligne !! il faut savoir absolument s'il y en à et de quel type ils sont (soit \n soit \r\n, soit \r) ta chaine est-elle générée en "brute" dans ton script ou bien dynamiquement ?
S'il n'y a pas de retours a la ligne, il faut enlever les \n :
note que je part du principe que ta chaine est contenue dans la variable str, a toi de l'adapter.Code:var rex = new RegExp("#"+name+"\\((\\d+)(\\d+)", "gi");
Si tu veux trouver juste dupont, ca revient a dire que tu cherches dupont précédé par un #, ce qui donnerait :
le 2eme argument "i" pour faire une recherche insensible a la casse.Code:var rex = new RegExp("#dupont", "i")
sinon un split sur le "#"
Merci à tous, ca fonctionne impec !
Encore une petite question :
si ma chaine est :
#test(chaine1,chaine2, chaine3,chaine4)
Quel est le parametre pour les chaines ?
Car b+ ne renvoie que les nombres
Par quoi remplacer ?Code:var rex = new RegExp("#"+name+"\\((\\b+),(\\b+)", "gi");
Et dans ce cas, il y a uniquement que deux resultats, comment en mettre plus (que celà soit automatique) ?
Merci !!!