如何匹配完整的单词以完成由空格分隔的单词

时间:2016-04-19 04:59:24

标签: c#

我想对字符串执行搜索操作。例如,我有一个以下字符串

您好我的名字是Babar,我是.Net开发人员

现在,如果我想搜索该字符串中是否存在任何单词,或者不使用以下代码。

if(str.Contains("am"))
{
return true;
}

此方法存在问题,它将返回2个字匹配上午名称。结果 am 是正确的,但我希望结果应该是一个用空格分隔的完整单词。它不应该返回名称作为结果。它应该匹配完整的单词而不是它的一部分。请帮助我解决这个问题

3 个答案:

答案 0 :(得分:4)

我认为最好的解决方案是正则表达式。

看这里: C#, Regex.Match whole words

正则表达式更高效,更通用。 当然,有时这些会是麻雀的大炮,最好使用Contains()或类似物。

答案 1 :(得分:1)

您可以使用:

string str = "Hi My name is Babar and I am a.Net developer";

        foreach (string s in str.Split(' ').ToArray())
        {
            if (s.Equals("am"))
            {
                return true;
            }
        }

答案 2 :(得分:1)

您应该使用IsMatch方法使用正则表达式:

Regex.IsMatch("Hi My name is Babar and I am a .Net developer", @"\b(am)\b")

如果字符串匹配,则返回True

每个\b表示一个空格。