How can I search for an exact match in a string? For example, If I had a string with this text:
label
label:
labels
And I search for label, I only want to get the first match, not the other two. I tried the Contains and IndexOf method, but they also give me the 2nd and 3rd matches.
You can use a regular expression like this:
bool contains = Regex.IsMatch("Hello1 Hello2", @"(^|\s)Hello(\s|$)"); // yields false
bool contains = Regex.IsMatch("Hello1 Hello", @"(^|\s)Hello(\s|$)"); // yields true
The \b is a word boundary check, and used like above it will be able to match whole words only.
I think the regex version should be faster than Linq.