Appartenance d'une string dans une autre

cs_laglobule Messages postés 29 Date d'inscription mardi 16 juillet 2002 Statut Membre Dernière intervention 1 août 2002 - 16 juil. 2002 à 15:05
pHoEnIxFuRy Messages postés 67 Date d'inscription mercredi 17 juillet 2002 Statut Membre Dernière intervention 18 juillet 2006 - 17 juil. 2002 à 11:22
Alors voila, est ce qu il existerait en VB une fct capable de retourner un booleen=TRUE si une string est contenue dans une autre et FALSE sinon

ex :
string1 = "toto"
string2 = "jreoi jrejgreo jirej toto krekogre greopkre"

et quand je fais :
la_fonction(string1, string2) ben je veux que ca retourne TRUE car string1 est contenue dans string2

Mici pour la réponse :)

2 réponses

cs_laglobule Messages postés 29 Date d'inscription mardi 16 juillet 2002 Statut Membre Dernière intervention 1 août 2002
16 juil. 2002 à 16:28
Apres moultes recherches, je n'ai pas trouve cette fct alors que je suis sur qu'elle existe.
Du coup, je me la suis tapé.
Si ca interesse qq un, la voici

Function appartient(string1 As String, string2 As String) As Boolean

Dim longueur1 As Long
Dim longueur2 As Long
Dim test As Boolean
Dim i As Integer
Dim string_test As String

test = False

longueur1 = Len(string1)
longueur2 = Len(string2)

For i = 1 To ((longueur2 - longueur1) + 1)
string_test = Right(string2, longueur2 - i + 1)
string_test = Left(string_test, longueur1)
If string_test = string1 Then
test = True
GoTo fin
End If
Next i
fin:
appartient = test

End Function

fonction qui retourne true si string2 contient string1 et false sinon
(attention, la longueur de la string1 doit etre inferieure a celle de la string2)
0
pHoEnIxFuRy Messages postés 67 Date d'inscription mercredi 17 juillet 2002 Statut Membre Dernière intervention 18 juillet 2006 1
17 juil. 2002 à 11:22
Une fonction vb permet de te faciliter la tache avec une ligne de code.
InStr(string2,string1)
String1 étant la chaine recherchée dans string2.
Cette fonction te retourne la position de string1 dans string2.
Si le résultat est 0, alors la chaine ne correspond pas.
Donc si le résultat est > 0, BINGO !
C pas un résultat booléen mais C encore plus précis.
En tout cas j'espère ke ca t'ira.
0
Rejoignez-nous