Extraire une chaine

Résolu
cs_kraven Messages postés 13 Date d'inscription jeudi 30 août 2001 Statut Membre Dernière intervention 13 novembre 2013 - 10 nov. 2013 à 08:26
cs_kraven Messages postés 13 Date d'inscription jeudi 30 août 2001 Statut Membre Dernière intervention 13 novembre 2013 - 13 nov. 2013 à 08:35
Bonjour,

J'ai une chaîne de caractère qui contient :

<current_conditions><condition data="Pluie Fine"/><temp_f data="46"/><temp_c data="8"/><humidity data="Humidité: 87%"/><icon data="/images/weather/mist.gif"/><wind_condition data="Vent: S de 11 km/h"/></current_conditions>

J'ai écris une expression régulière pour extraire une sous-chaîne.

RegExp('<condition data="(.*)/>');

Mon problème est que cela me retourne la chaîne entre <condition data=" et la dernière occurrence de /> et non pas la première comme je le souhaiterais.

Merci pour votre aide

5 réponses

BunoCS Messages postés 15475 Date d'inscription lundi 11 juillet 2005 Statut Modérateur Dernière intervention 23 avril 2024 103
10 nov. 2013 à 14:49
Hello,
Est-ce que ce tuto sur les RegExp peux t'aider? Il est fait pour PHP mais il peut sûrement s'adapter à ton besoin...
0
cs_kraven Messages postés 13 Date d'inscription jeudi 30 août 2001 Statut Membre Dernière intervention 13 novembre 2013
12 nov. 2013 à 09:12
Bonjour,

Merci pour le tuto. Je n'y ai pas trouvé la réponse à mon problème.
0
BunoCS Messages postés 15475 Date d'inscription lundi 11 juillet 2005 Statut Modérateur Dernière intervention 23 avril 2024 103
12 nov. 2013 à 10:45
Ah zut...je t'avais donné ce lien car il me semblait qu'il y avait un pattern pour trouver "la 1ère occurence de..."

Regarde peut-être dans la partie RegEx du site

Sinon, étant donné que je ne maitrise pas les RegEx, un complément à ta solution serait, une fois que tu as récupéré ta chaine, c'est de récupérer la sous-chaine commençant au début et finissant au 1er guillemet...
0
jordane45 Messages postés 38145 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 avril 2024 344
12 nov. 2013 à 12:57
Bonjour,
Je pense que ceci devrait vous aller :
RegExp('<condition data="(\w*|\D*)"\/>')

0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_kraven Messages postés 13 Date d'inscription jeudi 30 août 2001 Statut Membre Dernière intervention 13 novembre 2013
13 nov. 2013 à 08:35
Merci Jordane mais ça ne fonctionne pas.

Par contre

RegExp('<condition data="(.*?)/>');

fonctionne nikel.

Merci pour votre aide.
0
Rejoignez-nous