删除数组中的元素,该数组包含语句单行中的某个单词/字符串

本文关键字:数组 单词 单行中 字符串 包含 元素 删除 语句 | 更新日期: 2023-09-27 17:51:15

我有一个数组:

 List<String> TagArray = new List<string>(TagString.Split(','));

我想删除数组中的某些元素;比如-如果值包含字母"AAA"。

C#中有没有一行语句可以让我们达到预期的结果?

删除数组中的元素,该数组包含语句单行中的某个单词/字符串

试试这个:

TagArray.RemoveAll(item => item.Contains("AAA"));

RemoveAll将从您定义的谓词中删除所有返回true的项。您可以多次执行此操作,也可以||在一个RemoveAll中将一堆包含在一起。

您可以在此处使用LINQ。例如

List<String> TagArray = TagString.Split(',')
    .Where(tag => tab.IndexOf("AAA") < 0)
    .ToList();

请记住添加System.Linq命名空间。

希望这能有所帮助!!

 static void Main(string[] args)
    {
        string TagString = "WAAAA,APPLE";
        List<String> TagArray = new List<string>(TagString.ToUpper().Split(',')).Where(x => !x.Contains("AAA")).ToList();
    }

1条线,它可以

 List<String> TagArray = new List<string>(TagString.ToUpper().Split(',')).Where(x => !x.Contains("AAA")).ToList();

List<T>:RemoveAll(谓词<T>(

var list = new List<string> {"AAABBBCCC", "AABBCC", "ABC", "CCAAACC"};
list.RemoveAll(s => s.Contains("AAA")); // Removes the first and the last element

RemoveAll()对列表进行"迭代",并为您提供每个元素。s表示来自列表的元素,并且=>之后的代码是条件。当条件为true时,将删除该元素。条件不必使用s变量,它可以是返回bool值的任意块。

所以你也可以这样写:

list.RemoveAll(s =>
{
    return a == 5;
});