2017-04-03 52 views
-7

我有一个字符串列表:从字符串列表中的字符串找到子串LAMBDA声明

  1. 字符串
  2. 查找

和一个字符串“查找我的字符串”我现在需要的是一个lambda语句来搜索我的字符串包含任何来自l的字符串IST。

+6

这样做有几个方法,但你尝试过这么远吗? –

+0

http://stackoverflow.com/questions/43180205/linq-query-to-check-substring-between-a-list-and-string/43180450#43180450 –

+1

让我们知道你是怎么做到的。 –

回答

3
bool contains = list.Any(yourString.Contains); 

这是搜索字符串,因此它不比较“单词”。

这里是忽略的情况下一个版本:

bool contains = list.Any(s => yourString.IndexOf(s, StringComparison.CurrentCultureIgnoreCase) >= 0); 
+0

但是这将做子字符串匹配,而不仅仅是整个单词匹配。 – juharr

+0

@juharr:是的,但是OP没有提到他需要比较单词(不管是什么)。他说他想知道字符串是否包含任何其他字符串。 –

1

您可以Split()搜索表达式并找到像

var data = "Find my String".Split(' '); 
var result = your_list_string.Where(s => data.Contains(s)); 
+2

你确定这个质量低的问题值得回答吗? – Toshi

+1

@Toshi,虽然这是一个正确的答案,但这并不意味着答案必须被低估。在SO – Rahul

+0

有很多这样的例子,停止喂食帮助吸血鬼 - 如果有这么多的例子,重复投票 – Toshi