bonjour tlm;
SVP mes amis j'ai besoin de faire une recherche sur un mot dans une phrase par exemple cherché le mot "programme" dans la phrase "j ai terminer le programme de recherche".
Merci les amis
bonjour tlm;
SVP mes amis j'ai besoin de faire une recherche sur un mot dans une phrase par exemple cherché le mot "programme" dans la phrase "j ai terminer le programme de recherche".
Merci les amis
Bonjour,
on peut utiliser la méthode AnsiPos (ou Pos) de la classe AnsiString :
NicolasRenvoie l'indice de début de la sous-chaîne spécifiée.
int __fastcall AnsiPos(const AnsiString& subStr) const;
Description
Renvoie l'indice de début de la sous-chaîne subStr dans l'AnsiString, où 1 est le premier caractère de la chaîne, 2 le deuxième caractère, etc. Si la sous-chaîne n'est pas contenue dans l'AnsiString, AnsiPos renvoie 0. Cette fonction membre est identique à Pos mais supporte les chaînes de caractères multi-octets.
Remarque : Voir ByteType pour plus d'informations sur les caractères multi-octets.
merci beaucoup pour ta réponse mon ami, mais j'aimerai bien avoir s'il vous plai un exemple.
encore MERCI
dans position tu retrouvera l'indice du début de la position du mot "programme"
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 AnsiString phrase = "j ai terminer le programme de recherche"; int position = phrase.Pos("programme");
si la chaine n'est pas présente, il doit re retourner 0 ou -1 (à vérifier dans l'aide)
Salut,
Juste une précision, cette fonction te renvois la position du PREMIER mot trouvé, par exemple:
"J'ai terminer le programme de recherche, ce programme fonctionne bien!"
La fonction te renverras 18 pour te dire que "programme" se trouve à la 18ème position (un AnsiString commence à 1 et pas 0comme un char*). Si tu veux lire le second, il faudra que tu supprimes le premier.
L'idéal est de travailler sur un AnsiString temporaire copie de ta phrase, et qu'une fois trouvé, tu les supprimes.
La fonction renvoie 0 si il n'y a pas de mot recherché.
Partager