首页 > 解决方案 > 如果可用,如何从列表列中删除/替换单词

问题描述

我有List<Product>哪里ProductName可能有任何类似的词*Nokia, NoDevice, iPhone*

示例: SIS.Pragati.Nokia.OST, SIS.Trividyaa.iPhone.OST, SIS.OLM.NoDevice.OST

public class Product
{ 
    public string ProductName { get; set; }
    public string ProeductType { get; set; }
}

我正在尝试创建一个数组以使用 linq 删除所有字符

string[] bunchChar = { ".NoDevice", ".Nokia", ".iPhone"};

我期待List<Product>这样的输出列值

SIS.Pragati.OST, SIS.Trividyaa.OST, SIS.OLM.OST 

如何从列表中删除单词?

标签: c#stringlinq

解决方案


尝试:

products.ForEach(p => p.ProductName = p.ProductName.Replace(bunchChar[0], "").Replace(bunchChar[1], "").Replace(bunchChar[2], ""));

如果你bunchCharList<string>这样做,你可以让它更简洁:

products.ForEach(p => bunchChar.ForEach(bc => p.ProductName = p.ProductName.Replace(bc, "")));

推荐阅读