【问题标题】:How to remove elements of a list where its string contains sub strings from another list如何从另一个列表中删除其字符串包含子字符串的列表元素
【发布时间】:2017-09-01 05:49:55
【问题描述】:

我有一个这样的字符串:

var str = "DAVID CORPORATION"

然后我有一个我不想要的子字符串列表。

var describers = new List<string> {"CORP", "INC", "LTD", "TECH", "ENGINEER", "LLC","MICROELE"};

然后我将这里的 str 拆分为一个列表:

var strList = str.Split(' ').ToList();

现在我想删除该列表中包含描述器中的子字符串的所有项目。我发现这种方法可以在整个互联网上进行一百万次。

strList.RemoveAll(x => describers.Contains(x));

这不起作用,因为它所做的只是检查描述器是否包含 strList 的整个单词。我需要它反向工作。

这不起作用,但它是我希望它如何工作的算法。

strList.RemoveAll(x => x.Contains(describers.Any()));

无法从“布尔”转换为“字符串”

当然,但是如何从描述器中删除 strList 中包含子字符串项的项。

..并且仅在 linq.lamba 中。我试图远离 foreach/for/do 循环。

【问题讨论】:

    标签: c# linq


    【解决方案1】:

    您可以使用Any 执行以下操作:

    strList.RemoveAll(x => describers.Any(d => x.Contains(d)));
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-03-10
      • 1970-01-01
      • 2020-04-05
      • 1970-01-01
      • 2022-11-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多