Extraction sous-chaîne dans chaîne de caractères [Résolu]

Signaler
-
 nar66 -
Bonjour,
je developpe une application sur vb 6.0, s'il vous plais je fais faxce à un problème.
je recois un sms dans ma textbox et j'aimerais recupérer d'une maniere automatique le message utile; ie ne pas tenir compte de la date et du numéro de téléphone.voila para exemple un message que j'ai recu:

+CMT: "+23796317793","ìI¸!","13/10/28,15:16:43+04"
INCENDIE,0,0

j'aimerai enregistrer uniquement le message utile "incendie" dans une variable.
dans l'attente d'une suite favorable je vous remercie d'avance

7 réponses

Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
237
Bonjour,
Tes chaînes à traiter sont-elles TOUJOURS "construites" comme celle montrée en exemple ?
(se terminant par CHAINE_A_EXTRAIRE,#n#)
Si tel n'est pas le cas : quel est leur point commun éventuel ?
Su aucun format toujours identique auquel se "raccrocher" ===>> impossible !
bsr ucfoutu, merci pour l'interet accordé à ma demande.
en fait leur point commun est que le message utile commence toujour au 52 eme caractére, ie on a toujour une ligne de ce genre
+CMT: "+23796317793","ìI¸!","13/10/28,15:16:43+04"
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
237
Alors la simple et bête utilisation de Mid (à lire dans ton aide VB6, s'il te plait) permettra d'extraire tout ce qui se trouve à partir du 53ème caractère !
Et donc (dans ton exemple) : INCENDIE,0,0
Mais tu dis ne vouloir que INCENDIE
La question demeure donc entière : quel est le format TOUJOURS présent auquel te raccrocher maintenant ?

________________________
Réponse exacte ? => "REPONSE ACCEPTEE" facilitera les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement répéter son contenu. Je n'interviend
bjr ucfoutu pardon d'avoir tardé à répondre
les messages non pas le même format mais comme c'est moi qui fait le prog d'émission, je peux m'arranger à ce que le message utile débute toujours par # et se termine par ## par exemple

+CMT: "+23796317793","ìI¸!","13/10/28,15:16:43+04"
#INCENDIE##,0,0

je ne sait pas si on peut faire une boucle qui demande de récupérer le chaine commençant par # et se terminant par ##
merci
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
237
alors regarde :
toto = "blablabla#INCENDIE#blabla"
MsgBox Split(toto, "#")(1)

Pour comprendre : ouvre ton aide VB6 sur le mot Split et lis !
Ceci étant dit, je choisirais à ta place un caractère autre que #. Chr(1) par exemple
regarde :
toto = "blablabla" & Chr(1) & "INCENDIE" & Chr(1) & "blabla"
MsgBox Split(toto, Chr(1))(1)


________________________
Réponse exacte ? => "REPONSE ACCEPTEE" facilitera les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement répéter son contenu. Je n'interviend
Messages postés
8
Date d'inscription
vendredi 29 avril 2011
Statut
Membre
Dernière intervention
29 octobre 2013

cool ucfoutu, je vais l'éssayer, et je te dirai la suite ....
mais telque je vois, je pense que ça ira
merci ...
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
237
Bien.
J'ai modifié en t'attendant ton titre.
Car, que la chaîne à traiter soit ou non dans une textbox, ton problème est celui de l'extraction d'une sous-chaîne en son sein.
Messages postés
3258
Date d'inscription
jeudi 26 novembre 2009
Statut
Membre
Dernière intervention
3 décembre 2019
50
Bonjour ucfoutu

Bien.
J'ai modifié en t'attendant ton titre.
,

as tu les privilèges
ah si tu as le temps tu peux modifier les titres comme
VB ,Problème ,help etc il y a en a pas mal LOL
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
237
Bonjour, cs_ShayW,
J'ai en effet ce privilège.
Je préfère en général inviter le demandeur à le faire lui-même (le rendre plus conscient de la vocation et de la signification d'un titre de discussion)....
Je n'ai moi-même modifié celui-ci que parce que le demandeur avait fait un effort de rédaction de son titre, mais qu'il avait été maladroit dans sa démarche rédactionnelle.

PS : le choix de rédaction d'un titre permet déjà au demandeur d'isoler plus clairement le genre de la difficulté qu'il rencontre. C'est donc un geste utile et sain, y compris pour lui-même.
une fois de plus merci ucfoutu, je viens de tester le code split et cela fonctionne exactement comme je voulais alors merci...