Comparaison de chaînes de caractères

Résolu
John Dogget Messages postés 384 Date d'inscription vendredi 18 juin 2004 Statut Membre Dernière intervention 7 mai 2009 - 14 nov. 2004 à 21:11
cs_Nebula Messages postés 787 Date d'inscription samedi 8 juin 2002 Statut Membre Dernière intervention 7 juin 2007 - 16 nov. 2004 à 00:24
Bonsoir à tous.

Je cherche une fonction me permettant de trouver si une chaîne S2 se trouve dans une chaîne S1, le tout sans respect de la casse (si possible).

Par exemple si :
S1=Bonjour
S2=bon

La fonction me renvoie "True" comme résultat car "bon" est contenu dans "Bonjour".

Merci à vous.

7 réponses

John Dogget Messages postés 384 Date d'inscription vendredi 18 juin 2004 Statut Membre Dernière intervention 7 mai 2009
15 nov. 2004 à 21:56
Oui c'est pareil ...

Merci :-)
3
cs_Delphiprog Messages postés 4297 Date d'inscription samedi 19 janvier 2002 Statut Membre Dernière intervention 9 janvier 2013 32
14 nov. 2004 à 21:32
Il n'existe pas de fonction toute faite mais le résultat est facilement obtenu en "alignant" la casse des deux chaînes comparées :
 Result := Pos(UpperCase(S2), Uppercase(S1)) > 0;


Pensez à cliquer sur Réponse acceptée lorsque la réponse vous convient.
1
cs_Nebula Messages postés 787 Date d'inscription samedi 8 juin 2002 Statut Membre Dernière intervention 7 juin 2007 2
15 nov. 2004 à 23:22
Et CompareText alors ?
0
John Dogget Messages postés 384 Date d'inscription vendredi 18 juin 2004 Statut Membre Dernière intervention 7 mai 2009
15 nov. 2004 à 23:26
En fait la fonction de Delphiprog correspondait plus à mes attentes : elle renvoie un booleen ...
0

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

Posez votre question
cs_Nebula Messages postés 787 Date d'inscription samedi 8 juin 2002 Statut Membre Dernière intervention 7 juin 2007 2
15 nov. 2004 à 23:34
Ben tu testes = 0, çà revient au même (et évite les UpperCaser ou LowerCase, enfin on n'est plus à çà près)
0
cs_Delphiprog Messages postés 4297 Date d'inscription samedi 19 janvier 2002 Statut Membre Dernière intervention 9 janvier 2013 32
15 nov. 2004 à 23:40
Nebula : la fonction CompareText n'est pas faite pour déterminer si une chaine est dans une autre chaine mais si deux chaines commencent par la même séquence de caractères. Ce qui, évidemment, n'est pas la même chose.
0
cs_Nebula Messages postés 787 Date d'inscription samedi 8 juin 2002 Statut Membre Dernière intervention 7 juin 2007 2
16 nov. 2004 à 00:24
Pas faux, je m'étais basé sur l'exemple avec "bonjour"... Mea culpa :)
0
Rejoignez-nous