Как проанализировать непоследовательно отформатированный текстовый файл, игнорируя ненужную информацию? ⇐ C#
-
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, затем переходящий к методу, считывающий следующую строку и присваивающий значение, и так далее, пока не дойдет до ;. Как только это будет сделано, я пытаюсь понять, как сказать программе выйти из этого метода, но продолжить чтение со строки сразу после точки с запятой. Возможно, я слишком много об этом думаю..
У меня есть файл, который мне нужно проанализировать, чтобы извлечь определенные фрагменты информации. Я могу понять, как анализировать каждую строку, но застрял в поиске конкретных фрагментов информации. Я не заинтересован в том, чтобы кто-то закончил за меня этот код. Вместо этого меня интересуют указатели того, куда я могу двигаться дальше. Вот пример написанного мной кода.
класс Программа { частный статический словарь _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, затем переходящий к методу, считывающий следующую строку и присваивающий значение, и так далее, пока не дойдет до ;. Как только это будет сделано, я пытаюсь понять, как сказать программе выйти из этого метода, но продолжить чтение со строки сразу после точки с запятой. Возможно, я слишком много об этом думаю..
Мобильная версия