Comment ignececase lors de l'utilisation de string.text.contains?
Je suis à essayer de comprendre comment faire pour vérifier si une chaîne contient un autre, tout en ignorant la casse à l'aide .texte.contient.
Comme il est en ce moment Si je fais ceci:
Dim myhousestring As String = "My house is cold"
If txt.Text.Contains(myhousestring) Then
Messagebox.Show("Found it")
End If
Il retournera seulement un match si c'est exactement le même cas. Donc, si l'utilisateur a tapé "ma maison est froide", il ne serait pas un match.
Comment puis-je faire cela? Si il n'est pas possible, je pourrais sans doute suffit d'utiliser la regex plutôt avec ignorecase. Toute aide serait appréciée.
source d'informationauteur user1632018
Vous devez vous connecter pour publier un commentaire.
Selon Microsoft vous pouvez faire de la casse des recherches dans les chaînes avec
IndexOf
au lieu deContains
. Ainsi, lorsque le résultat de laIndexOf
méthode renvoie une valeur supérieure à-1
cela signifie que la deuxième chaîne est une chaîne de la première.Vous pouvez également utiliser d'autres casse variantes de StringComparison.
Je ne suis pas un vb.net programmeur, mais selon Microsoftvous pouvez obtenir les lettres minuscules/majuscules valeur du texte à l'aide de la chaîne de méthodes
ToUpper()
ouToLower()
. Vous pouvez ensuite comparer avec"my house is cold"
ou"MY HOUSE IS COLD"
.J'ai résolu ce problème avec .toUpper
Par exemple:
Même procédure avec .toLower
Personnellement, j'ai simplement utilisé:
vous pourriez tout aussi bien utiliser ToUpper.
Mise en garde: Si vous comparez le turc, ou dans d'autres langues, le ToLower() et ToUpper() aussi une option de paramètre, pour "CultureInfo" vous permettant de vous assurer que les différentes langues sont traitées correctement.
Vous pouvez utiliser une solution ci-dessus, ou vous pouvez suivre les étapes de Microsoft ToLower de Documentation, d'ajouter dans CultureInfo, pour obtenir ToLower contexte sur la langue dans laquelle vous êtes sur le point d'essayer de la manipuler.
ToLower() avec CultureInfo documentation
ToUpper() avec CultureInfo documentation
c'est comment j'ai résolu mon problème de Chaîne de caractères.Contient de devenir insensible à la casse.
Pour ma question en particulier, la chaîne que je regardais était logé à l'intérieur d'une zone de texte.
J'espère que cette aide.
Ou vous pouvez utiliser RegularExpressions comme ça.
D'abord, l'importation de l'RegularExpressions:
ensuite, essayez ce code:
Quoi à ce sujet?
utiliser l'InStr exemple. "contient" échoue si l'éther n'est rien comparer.
"si nous avons trouvé quelque chose...