PC SOFT

GRUPOS DE DISCUSSÃO PROFISSIONAL
WINDEVWEBDEV e WINDEV Mobile

Inicio → WINDEV Mobile (versões anteriores) → Extraire une chaine entre deux mots différents
Extraire une chaine entre deux mots différents
Iniciado por Fred2355, out., 01 2017 11:11 PM - 3 respostas
Membro registado
231 mensagems
Popularité : +7 (7 votes)
Publicado em outubro, 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
Publicado em outubro, 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
Membro registado
2.566 mensagems
Popularité : +222 (260 votes)
Publicado em outubro, 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
Membro registado
231 mensagems
Popularité : +7 (7 votes)
Publicado em outubro, 04 2017 - 6:43 PM
Merci pour l'info!
:merci:
Je teste !!