У меня есть List<String>
Включает в себя девять предметов.Как удалить один элемент в списке C#?
Хочу удалить у предметов есть:
.
Я делаю это с кодом:
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
}
Моя постановляю:
В этом case:
Я использую StartWith
и EndWith
, чтобы найти эту строку и Remove
.
listHeader[1].RemoveAll(x => x.StartsWith("<!--<div") && x.EndsWith("</div>-->"));
образец введите, пожалуйста –
Ваш код в значительной степени нечитаемым :) Я до сих пор не понимаю, что структура ваши массивы. Вы сказали «Список', но он действительно выглядит как список списков. Не могли бы вы показать весь код? –
Кстати, здесь 'line.Replace (" "," ");' возвращаемое значение просто игнорируется. 'Replace' не изменяет исходную строку, он возвращает новое изменение. –