0

Мне нужно найти строки в текстовом файле, который представляет собой скаченную html страницу, в которых присутствуют ссылки, после, обрезать все лишнее в строке. Моя проблема заключается в неправильном алгоритме и отсутствии правильных, для данной задачи, инструментов из за малого опыта) надеюсь на вашу помощь, возможно идеи как это можно реализовать по лучше.

Вот мой код

if (line.Contains("a href="))
{
    temp = line.Substring(line.IndexOf("href=") + 6);
    temp = temp.Remove(temp.IndexOf('"'))+ "\n\r";

    linkSite += temp + "\n\r";

    temp = string.Empty;
}
Kromster
  • 13,809
SANTY
  • 1
  • Тут у вас ошибка, line.IndexOf("a href=") не равно line.IndexOf("href=") (не важно indexOf или Contains), а атрибут href может быть не только у а, поэтому программа отработает не верно. Желательно заменить на IndexOf("a href=") + 8 – nick_n_a Jul 24 '19 at 09:42
  • Кавычки могу быть двойные, могут не быть, Могут быть апострофные. – nick_n_a Jul 24 '19 at 09:45
  • Хорошо спасибо, а вот еще вопросик, я все это делаю в цикле foreach, и получается так, что в linkSite += temp + "\n\r"; он записывает одни и те же значения. Результат вроде бы верный но повторяется много раз. Если я уберу + linkSite = temp + "\n\r" то он запишет только последнюю найденную строку и всё. – SANTY Jul 24 '19 at 10:24
  • Никто не запрещает делать несколько ссылок на один адрес. Может быть ссылка в верху сайта и внизу. Может быть и 10 одинаковых - зависит от сайта. – nick_n_a Jul 24 '19 at 10:44

0 Answers0