Как проанализировать непоследовательно отформатированный текстовый файл, игнорируя ненужную информацию?C#

Место общения программистов C#
Ответить
Anonymous
 Как проанализировать непоследовательно отформатированный текстовый файл, игнорируя ненужную информацию?

Сообщение Anonymous »


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

класс Программа { частный статический словарь _arrayLists = новый словарь(); static void Main(string[] args) { строка filePath = "c:\\test.txt"; Читатель StreamReader = новый StreamReader (filePath); струнная линия; while (null !=(line = readLine.ReadLine())) { если (line.ToLower().Contains("отключено")) { // необходимо продолжить поиск отключенного или подписанного } еще { если (line.ToLower().Contains("подписано")) { //программе необходимо продолжить чтение файла // ищем и присваиваем значения // DVD, cls, jhd, dxv, hft // записи начинаются с подписки и заканчиваются ; } } } } } Небольшое пояснение к файлу. По сути, мне нужно извлечь данные, существующие между словом Subscribed и первым; я прихожу в себя. В частности, мне нужно взять такие значения, как dvd = 234, и присвоить их тем же переменным в коде. Не каждая запись будет иметь одинаковые переменные.

Вот пример текстового файла, который мне нужно проанализировать.

информация о тесте раздражающая информация Подписался, еще больше надоедливой информации еще более неприятная информация DVD = 234, кл = 453, джд = 567, еще более неприятная информация еще более неприятная информация дхв = 456, вфт = 876; еще более неприятная информация информация о тесте раздражающая информация Подписался, еще больше надоедливой информации еще более неприятная информация DVD = 234, кл = 455, еще более неприятная информация еще более неприятная информация дхв = 456, вфт = 876, jjd = 768; еще более неприятная информация информация о тесте раздражающая информация Отключено более раздражающая информация еще более неприятная информация еще более неприятная информация Моей целью было убедиться, что программа связывает все данные между подпиской и ; как одну запись. Я думаю, что меня смущает чтение строк. В своей голове я вижу цикл, читающий строку Subscribed, затем переходящий к методу, считывающий следующую строку и присваивающий значение, и так далее, пока не дойдет до ;. Как только это будет сделано, я пытаюсь понять, как сказать программе выйти из этого метода, но продолжить чтение со строки сразу после точки с запятой. Возможно, я слишком много об этом думаю..
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»