我正在寻找一种方法来检测字符串中是否存在某个单词。 例如,如果我有字符串"嗨,这就是我"我想确保" hi"存在; 到目前为止我尝试了什么:
bool containsWord () {
string str = "hi, this is me";
return str.Contains ("hi");
}
不能正常工作:问题在于我需要确保单词本身存在且不属于另一个单词。 使用代码,执行:
bool containsWord () {
string str = "this is me";
return str.Contains ("hi");
}
仍然会返回true,因为" hi"仍然是" t hi s"的子字符串。 我怎么能避免这种情况?
答案 0 :(得分:3)
如何使用String.Split
// Add other punctuation if need
var array = str.Split(" ,;.".ToCharArray(), StringSplitOptions.RemoveEmptyEntries) ;
bool containsWord = array.Any(s => s.Equals("hi", StringComparison.InvariantCultureIgnoreCase));
答案 1 :(得分:2)
使用一些正则表达式 - Regex.IsMatch(@"\bhi\b");
别忘了添加using System.Text.RegularExpressions;