检查字符串列表中是否存在字符串的单词

Ebi*_*ser 2 c# linq string contains list

我有以下代码可以治疗 -

List<string> test = new List<string>();
test.Add("cat");

if (test.Any(str => str.Contains("cat")))
{
      // do something
};
Run Code Online (Sandbox Code Playgroud)

但是有没有办法检查是否存在完全匹配的例子 -

if (test.Any(str => str.Contains("the cat sat")))
{
      // do something
};
Run Code Online (Sandbox Code Playgroud)

我希望能够检查列表中是否存在字符串中的任何单词.我怎样才能做到这一点?

Ham*_*jam 5

你应该提取单词并检查它们的元素是否存在 test

var data = "the cat sat";
var words = data.Split(null);
if (test.Any(str => words.Any(word => str.Contains(word)))
{
  // do something
}
Run Code Online (Sandbox Code Playgroud)

如果你想检查你应该使用的完全匹配word => str == word.

"a cat".Contains("cat") //true
"a cat" == "cat" //false
Run Code Online (Sandbox Code Playgroud)