private void FilterNumbers(List<string> numbers)
{
for (int i = 0; i < numbers.Count; i++)
{
if (numbers[i].Contains
}
}
Например, в индексе 0 я вижу: «6» В индексе 7 я вижу: «88»Как фильтровать и удалять индексы из списка, содержащие только числа?
Это индексирует я хочу, чтобы удалить из списка. Список - это смешанный текст и индекс чисел, которые содержат только числа! Я хочу удалить их.
Мой код не является полным. Как проверить, содержит ли индекс/с только числа?
EDIT **
Это то, что я сделал:
Сначала я создать оригинальный список:
private void ExtractText(string filePath)
{
List<string> text = new List<string>();
var htmlDoc = new HtmlAgilityPack.HtmlDocument();
htmlDoc.OptionFixNestedTags = true;
htmlDoc.Load(filePath, System.Text.Encoding.GetEncoding(65001));
if (htmlDoc.DocumentNode != null)
{
var nodes = htmlDoc.DocumentNode.SelectNodes("//a/b");
foreach (var node in nodes)
{
text.Add(node.InnerText);
}
}
}
Файл:
client.Encoding = System.Text.Encoding.GetEncoding(1255);
page = client.DownloadString("http://rotter.net/scoopscache.html");
StreamWriter w = new StreamWriter(@"d:\rotterhtml\rotterscoops.html");
w.Write(page);
w.Close();
ExtractText(@"d:\rotterhtml\rotterscoops.html");
Проблема заключается в том, что в конце в методе ExtractText переменный текст, являющийся списком, содержит в первых 6 индексах и последние 6 номеров индексов. «0» «6» «8»
Что я хотел сделать, это извлечь текст в каждом между двумя тегами:
Теперь я хочу, чтобы фильтровать числа, а его фильтрацию только 3 индексирование в начале и в конце.
EDIT *
Это где я вызвать метод фильтра:
private void ExtractText(string filePath)
{
List<string> text = new List<string>();
var htmlDoc = new HtmlAgilityPack.HtmlDocument();
htmlDoc.OptionFixNestedTags = true;
htmlDoc.Load(filePath, System.Text.Encoding.GetEncoding(65001));
if (htmlDoc.DocumentNode != null)
{
var nodes = htmlDoc.DocumentNode.SelectNodes("//a/b");
foreach (var node in nodes)
{
text.Add(node.InnerText);
}
FilterNumbers(text);
}
}
Soner делает ваш код удаления, но только 3 индекса в начале списка и 3 индекса чисел в конце списка. Может быть, мне нужно сделать метод рекурсивным? – user3200169
@ user3200169 Вы правы, потому что метод ['RemoveAt'] (http://msdn.microsoft.com/en-us/library/5cw9x18z.aspx) перенумерован для замены удаленного элемента. Из документации; ** Когда вы вызываете RemoveAt для удаления элемента, остальные элементы в списке перенумеровываются, чтобы заменить удаленный элемент. Например, если вы удаляете элемент в индексе 3, элемент в индексе 4 перемещается в позицию 3. ** Обновите мой ответ с помощью метода «Удалить». –
Даже при использовании Remove все еще удаляет только 3 индекса в начале и 3 в конце. И есть 6 в начале и 6 в конце. – user3200169