PC SOFT

PROFESSIONAL NEWSGROUPS
WINDEVWEBDEV and WINDEV Mobile

Home → WINDEV Mobile (earlier versions) → Extraire une chaine entre deux mots différents
Extraire une chaine entre deux mots différents
Started by Fred2355, Oct., 01 2017 11:11 PM - 3 replies
Registered member
231 messages
Popularité : +7 (7 votes)
Posted on October, 01 2017 - 11:11 PM
Bonsoir,

J'ai une chaine de caractères du style:
"nom:marcheproduguidon,prénom:eugene,age:38"

mais cette chaine peut avoir des variantes telle que le nombre de caractères entre nom: et la virgule qui suit le nom peut varier en fonction de la longueur du nom, idem pour le prénom.

Comment pourrait je dire que je ne veux que le nom et le prénom.?

le hic est que en fonction d'autre paramètre que je métrise pas, nom et prénom peuvent être inversé:
"prénom:eugene,nom:marcheproduguidon,status:marié,age:38"

Avez vous une idée?

Merci
Posted on October, 02 2017 - 10:15 AM
Fred2355 a pensé très fort :
Bonsoir,

J'ai une chaine de caractères du style:
"nom:marcheproduguidon,prénom:eugene,age:38"

mais cette chaine peut avoir des variantes telle que le nombre de caractères
entre nom: et la virgule qui suit le nom peut varier en fonction de la
longueur du nom, idem pour le prénom.

Comment pourrait je dire que je ne veux que le nom et le prénom.?

le hic est que en fonction d'autre paramètre que je métrise pas, nom et
prénom peuvent être inversé:
"prénom:eugene,nom:marcheproduguidon,status:marié,age:38"

Avez vous une idée?

Merci


si l'ordre de la chaine n'est pas fixe il faudra boucler avec
extraitchaine avec l'option rangpremier/rangsuivant

szTmp est chaine = ExtraitChaine(MaChaineComplète,rangPremier,",")
TANTQUE szTmp <> EOT
SI ExtraitChaine(szTmp,1,":") = "nom" alors
Trace(ExtraitChaine(szTmp,2,":")
SI ExtraitChaine(szTmp,1,":") = "prenom" alors
Trace(ExtraitChaine(szTmp,2,":")
szTmp = ExtraitChaîne(MaChaineComplète, rangSuivant,",")
FIN

--
Cordialement JeAn-PhI
Registered member
2,566 messages
Popularité : +222 (260 votes)
Posted on October, 03 2017 - 6:53 AM
Bonjour,

plus simplement comme cela:
sToto est une chaîne = "nom:marcheproduguidon,prénom:eugene,age:38"

POUR TOUTE chaîne sTutu de sToto SEPAREE PAR ","
SI ExtraitChaîne(sTutu,1,":") ~= "nom" ALORS Trace(sTutu)
SI ExtraitChaîne(sTutu,1,":") ~= "prenom" ALORS Trace(sTutu)
FIN


--
Cordialement,

Philippe SAINT-BERTIN
Géode Informatique
Registered member
231 messages
Popularité : +7 (7 votes)
Posted on October, 04 2017 - 6:43 PM
Merci pour l'info!
:merci:
Je teste !!