我List<String>
包含九项。
我想删除项目包含:
。
我用代码执行此操作:
foreach (string text in listHeader[0])
{
if (text.Contains(" "))
{
listHeader[0] = listHeader[0].SelectMany(line =>
{
line.Replace(" ", "");
return new String[] { line };
}).ToList();
}
}
但listHeader[0]
也有九项。如何修复我的代码以删除项目包含
。
示例数据:
listHeader[0]= {
text
sample
new string
}
我listHeader[1]
的另一个案例需要使用<!--<div
到</div>-->
进行过滤。
foreach (string text in listHeader[1])
{
listHeader[1] = Regex.Replace(text, "<!--<div.*?</div>-->", "").ToList();
}
我的问题是:
如何删除项目包含以<!--<div
开头的字符串,并以</div>-->
样品:
listHeader[1] = {
go to school
<!--<div id='fav_0118668891'class='icon displayOn' ><span class='favorite' onclick='javascript:addMatchFavorites("0118668891","014018",false,false);' title='undefined'></span></div>-->
work at the company
take a coffee
}
我的决心:
在这种情况下:
我使用StartWith
和EndWith
来查找此字符串并Remove
。
listHeader[1].RemoveAll(x => x.StartsWith("<!--<div") && x.EndsWith("</div>-->"));
答案 0 :(得分:3)
如何修复我的代码以删除包含
的项目
您可以使用List.RemoveAll
方法删除与指定谓词定义的条件匹配的所有元素。
listHeader[0].RemoveAll(x=> x.Contains(" "));
选中此Demo
答案 1 :(得分:3)
foreach (var item in listHeader[0])
{
if (item.Contains(" "))
nineItems.Remove(item); // remove item(s) containing  
}
或者更简单的方法:
listHeader[0].RemoveAll(x => x.Contains(" "));