C#检查字符串中是否存在单词

时间:2009-07-03 09:23:12

标签: c# regex

使用正则表达式执行此操作是最好的方法吗?我不希望它拿起部分单词,例如,如果我搜索Gav它不应该与Gavin匹配。

任何例子都很棒,因为我的正则表达技巧不存在。

由于

2 个答案:

答案 0 :(得分:16)

是的,正则表达式非常适合这项工作。

类似的东西:

string regexPattern = string.Format(@"\b{0}\b", Regex.Escape(yourWord));
if (Regex.IsMatch(yourString, regexPattern)) {
    // word found
}

答案 1 :(得分:3)

你想要的可能是这样的:

if (Regex.IsMatch(myString, @"\bGav\b")) { ... }

正则表达式中的\ b:s表示字边界,即字符串的空格或开头/结尾。如果需要,您可能还想将RegexOptions.IgnoreCase作为第三个参数。请注意,正则表达式前面的@ -sign是必不可少的,否则由于\符号的双重含义而被误解。