我正在检查这些字符串,看它们是否包含单词“hi”,如果有,则返回true。否则我会回复假。字符串“high up应返回false但返回true。我该如何解决这个问题?
public static bool StartHi(string str)
{
if (Regex.IsMatch(str, "hi"))
{
return true;
}
else
return false;
}
static void Main(string[] args)
{
StartHi("hi there"); // -> true
StartHi("hi"); // -> true
StartHi("high up"); // -> false (returns true when i run)
}
答案 0 :(得分:14)
尝试指定word boundaries(\b
):
if(Regex.IsMatch(str, @"\bhi\b"))
答案 1 :(得分:3)
private static bool CheckIfExists(string sourceText, string textToCheck)
{
return sourceText.Split(' ').Contains(textToCheck);
}