我有一个字符串列表。我想在里面搜索并返回一个新列表。搜索值是一个字符串(句子)。每个单词都用空格分隔。
所以,我看一下搜索包含句子每个单词的每个字符串的方法。
示例:
list = {"abcdef", "abc", "ab", "cd ab"}
search "ab" => return list with "abcdef", "abc", "ab", "cd ab"
search "abc" => return list with "abcdef", "abc"
search "ab cd" => return list with "abcdef","cd ab"
它很简单,但我不知道如何在一个命令中使用Linq。像
这样的东西if l.contains(list)
其中包含检查列表中的每个元素。
这可能很简单,我只是问如何。或者也许是我没见过的另一篇文章的链接。
谢谢
答案 0 :(得分:1)
if (list.Any(w => w.Contains(something))
答案 1 :(得分:0)
棘手的是你的“ab cd”的最后一个案例。
var list = new List<string> {"abcdef", "abc", "ab", "cd ab"};
var result = list.Where (w => "ab cd".Split().All (s => w.Contains(s)));
Click here to see the proof that it catches all cases you've outlined.