检查字符串中的单词

时间:2015-12-09 14:29:41

标签: c#

我正在寻找一种方法来检测字符串中是否存在某个单词。 例如,如果我有字符串"嗨,这就是我"我想确保" 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"的子字符串。 我怎么能避免这种情况?

2 个答案:

答案 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;