Прежде всего - насколько велик файл, который вы пытаетесь проанализировать?Если он составляет порядка нескольких сотен МБ, то вы можете полностью загрузить его в ОЗУ, что упрощает задачу.
Кодировка UTF-7 не должна вас беспокоить, поскольку все строки .NET внутренне являются UTF-16.и .NET преобразует из UTF-7 в UTF-16 при чтении файла, чтобы вам больше не приходилось беспокоиться о кодировках.
После того, как у вас есть одна большая строка, лучше всего продолжитьиспользуя регулярные выражения на нем.Они также позволяют заменять текст, так что вы можете «очистить» ваш файл одной строкой кода!Конечно, регулярные выражения для соответствующих URL-адресов никогда не будут идеальными (и даже меньше для анализа HTML ), поэтому вы можете ожидать, что некоторые части более экзотических URL-адресов могут время от времени исчезать.Но если вам нужно совершенство, то это может быть ДЕЙСТВИТЕЛЬНО сложно.
В качестве альтернативы, если файл имеет большой размер и вам нужно удалять только одну строку за раз, вы можете попробовать прочитать файл построчноа затем обрабатывать каждую строку отдельно.Если вы найдете и URL в нем, откажитесь от строки.Если URL отсутствует, напишите в целевой файл.Это также очень просто написать.Вы все равно будете зависеть от регулярных выражений для поиска URL.