I am trying to figure out how to check if a string contains another while ignoring case using .text.contains.
As it stands right now If I do this:
Dim myhousestring As String = "My house is cold" If txt.Text.Contains(myhousestring) Then Messagebox.Show("Found it") End If
It will only return a match if it is the exact same case. So if the user typed "my house is cold", it would not be a match.
How can I do this? If it is not possible I could probably just use regex instead with ignorecase. Any help would be appreciated.
One of the easiest ways to check if a String has a substring without considering the case is to convert all the Strings to lowercase and then check for a substring. To check for a substring, we use the contains() method, and for converting the String to lowercase, we use the toLowerCase() method.
Yes, contains is case sensitive. You can use java. util.
Java String: equalsIgnoreCase() MethodTwo strings are considered equal ignoring case if they are of the same length and corresponding characters in the two strings are equal ignoring case.
According to Microsoft you can do case-insensitive searches in strings with IndexOf
instead of Contains
. So when the result of the IndexOf
method returns a value greater than -1
, it means the second string is a substring of the first one.
Dim myhousestring As String = "My house is cold" If txt.Text.IndexOf(myhousestring, 0, StringComparison.CurrentCultureIgnoreCase) > -1 Then Messagebox.Show("Found it") End If
You can also use other case-insensitive variants of StringComparison.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With