List(Of string).contains ignore case ? [Résolu]

Messages postés
1100
Date d'inscription
mercredi 22 mars 2006
Dernière intervention
15 avril 2018
- - Dernière réponse : Polack77
Messages postés
1100
Date d'inscription
mercredi 22 mars 2006
Dernière intervention
15 avril 2018
- 7 sept. 2009 à 16:07
Bonjour,

Tout est dans le titre :
Comment faire un "contains" sur un tableau de string en ignorant la case (je voudrais éviter si possible de re-construire mon tableau) ?

Je sait que cette question à déjà été posée (ici avec exactement le même titre) le problème est que je n'est rien compris à la réponse

Merci d'avance

Amicalement
1000 recherches sur Google = 1Km de voiture en CO² (réfuté par Google )
1000 recherches sur Forestle = 100 m² de forêt tropicale sauvé .
Surfez écolo
Afficher la suite 

Votre réponse

7 réponses

Meilleure réponse
Messages postés
1212
Date d'inscription
dimanche 20 avril 2003
Dernière intervention
4 juin 2016
3
Merci
Bonjour,

Je pense qu'il voulait simplement dire de faire une comparaison en castant tes 2 membres en ToUpper(), c.à.d les comparer comme si c'étaient des majuscules en les convertissant à la volée.


Calade

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 95 internautes nous ont dit merci ce mois-ci

Commenter la réponse de Calade
Messages postés
3181
Date d'inscription
dimanche 15 février 2004
Dernière intervention
9 avril 2017
3
Merci
Pourquoi refaire un tableau ?
Function Contains(ByVal Source() As String, ByVal Value As String) As Boolean
  Value = Value.ToLower()
  For Each Element As String In Source
    If Element.ToLower() = Value Then Return True
  Next
  Return False
End Function


(Oui un index de tableau est bien un Integer)


_____________
Kenji

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 95 internautes nous ont dit merci ce mois-ci

Commenter la réponse de Charles Racaud
Messages postés
3181
Date d'inscription
dimanche 15 février 2004
Dernière intervention
9 avril 2017
0
Merci
Salut,

Que fait la fonction Contains ? Elle parcoure simplement le tableau à la recherche d'un élément.
Fait donc ta propre fonction Contains qui parcours tous les éléments du tableau sans respecter la casse (conversion en minuscule pour la comparaison)


_____________
Kenji
Commenter la réponse de Charles Racaud
Messages postés
1100
Date d'inscription
mercredi 22 mars 2006
Dernière intervention
15 avril 2018
0
Merci
Re construire mon tableau donc
Sa quoi :
Dim MonTblUCase() as String
Dim Result as Boolean
ReDim MonTblUCase(MonTbl.Count - 1)
For Compteur As Int32 = 0 To MonTbl.Count - 1
    MonTblUCase(Compteur) = MonTbl(Compteur).ToUpper
Next
Result = MonTblUCase.contains(MaVal.ToUpper)
Erase MonTblUCase

(J'espérais, naïvement peut être, que sa ne serais qu'une solution temporaire)
Si quelqu'un sait comment faire autrement sa m'intéresse

Merci de ta réponse

(Heeeee au faite l'index max d'un tableau est bien un Int32 ?)

Amicalement
1000 recherches sur Google = 1Km de voiture en CO² (réfuté par Google )
1000 recherches sur Forestle = 100 m² de forêt tropicale sauvé .
Surfez écolo
Commenter la réponse de Polack77
Messages postés
1100
Date d'inscription
mercredi 22 mars 2006
Dernière intervention
15 avril 2018
0
Merci
Merci à vous deux
En faite ma "vrais" fonction est ~ la même que toi Charles mais je fait des piti truc en plus (cette fonction est intégrer à une classe "connexion" et je veut tester l'existence de table(s) et vue(s) dans la base de donnée active, avec ou sans sensibilité à la case, non sensible par défaut, comme sa vous savez tout ^^) j'avais juste posté un exemple ici (par contre de toute façon si on ne veut pas que le tableau d'origine ne soit modifier, il faut en faire un copie. Et en "vrais" nos fonctions aussi re-crée un tableau en mémoire, dù au ByVal )

Amicalement
1000 recherches sur Google = 1Km de voiture en CO² (réfuté par Google )
1000 recherches sur Forestle = 100 m² de forêt tropicale sauvé .
Surfez écolo
Commenter la réponse de Polack77
Messages postés
1100
Date d'inscription
mercredi 22 mars 2006
Dernière intervention
15 avril 2018
0
Merci
A la place de :
If Element.ToLower() = Value Then Return True

J'aurais fait :
If Element.ToLower() = Value.ToLower() Then Return True

Sa évite la ligne
Value = Value.ToLower()


Bonne prog

Amicalement
1000 recherches sur Google = 1Km de voiture en CO² (réfuté par Google )
1000 recherches sur Forestle = 100 m² de forêt tropicale sauvé .
Surfez écolo
Commenter la réponse de Polack77
Messages postés
1100
Date d'inscription
mercredi 22 mars 2006
Dernière intervention
15 avril 2018
0
Merci
Houlala non je dit une GROSSE connerie la !
Si je fait sa j'exécute n fois le .ToLower()
Dzl ta fonction étais parfaite

Amicalement
1000 recherches sur Google = 1Km de voiture en CO² (réfuté par Google )
1000 recherches sur Forestle = 100 m² de forêt tropicale sauvé .
Surfez écolo
Commenter la réponse de Polack77

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.