I\'ve used .Contains() to find if a sentence contains a specific word however I found something weird:
I wanted to find if the word "hi" was present in a se
Here's a Regex solution:
Regex has a Word Boundary Anchor using \b
Also, if the search string might come from user input, you might consider escaping the string using Regex.Escape
This example should filter a list of strings the way you want.
string findme = "hi";
string pattern = @"\b" + Regex.Escape(findme) + @"\b";
Regex re = new Regex(pattern,RegexOptions.IgnoreCase);
List data = new List {
"The child wanted to play in the mud",
"Hi there",
"Hector had a hip problem"
};
var filtered = data.Where(d => re.IsMatch(d));
DotNetFiddle Example