Я анализирую веб-страницу для ссылок http, сначала анализируя все привязанные теги, затем анализируя теги href, затем запускаю регулярное выражение для удаления всех тегов, которые не являются независимыми ссылками (например, href = "/ img / link.php ").Следующий код работает правильно, но также добавляет много пустых строк между проанализированными ссылками.
while (parse.ParseNext("a", out tag))
{
string value;
//A REGEX value, this one finds proper http address'
Regex regexObj = new Regex(@"^http\://[a-zA-Z0-9\-\.]+\.[a-zA-Z]{2,3}(/\S*)?$");
if (tag.Attributes.TryGetValue("href", out value))
{
string value2;
//Start finding matches...
Match matchResults = regexObj.Match(value);
value2 = matchResults.Value;
lstPages.AppendText(value2 + "\r\n");
}
}
Чтобы исправить это, я добавил следующий код, и он работает для очистки списка:
if (value2 != "")
{
lstPages.AppendText(value2 + "\r\n");
}
Однако я
- Не делаюЯ не верю, что это самый эффективный способ сделать это, и
- Все еще не понимает, откуда берутся строки
!= ""
.
Мой актуальный вопрос по обоим вопросам, но больше к вопросу № 2, так как я хотел бы узнать, почему я получаю эти результаты, но также и есть ли более эффективный метод для этого.