Linq搜索字符串单独的字符串

时间:2012-06-05 14:10:33

标签: linq search

我有一个字符串列表。我想在里面搜索并返回一个新列表。搜索值是一个字符串(句子)。每个单词都用空格分隔。

所以,我看一下搜索包含句子每个单词的每个字符串的方法。

示例:

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) 

其中包含检查列表中的每个元素。

这可能很简单,我只是问如何。或者也许是我没见过的另一篇文章的链接。

谢谢

2 个答案:

答案 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.