0

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

因此,我研究了一种方法来搜索包含句子中每个单词的每个字符串。

样本 :

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) 

where contains 检查列表的每个元素。

这可能很简单,我只是问如何。或者也许是我没看过的另一个帖子的链接。

谢谢

4

2 回答 2

1
if (list.Any(w => w.Contains(something))
于 2012-06-05T14:12:57.103 回答
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)));

单击此处查看证明它涵盖了您概述的所有案例的证据。

于 2012-06-05T14:43:18.467 回答