使用正则表达式执行此操作是最好的方法吗?我不希望它拿起部分单词,例如,如果我搜索Gav它不应该与Gavin匹配。
任何例子都很棒,因为我的正则表达技巧不存在。
由于
答案 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是必不可少的,否则由于\符号的双重含义而被误解。