Повторяющийся заголовок в группе

Я анализирую текст с заголовком, а затем данные, которые относятся к этому заголовку. Мне нужно разбить каждое поле данных на группы, чтобы заголовок также относился к этим группам. Вот пример:

(Обновление: текст ниже был обновлен, чтобы лучше отразить его текущее расположение и указать аннотацию.)

Заголовок 1
Заголовок 2 Заголовок 3
(Группа 1)
данные1 данные2 
данные3 данные4 
данные 5 
(Группа 2)
данные1 данные2 
данные3 данные4 
данные 5
(Группа 3) 
данные1 данные2 
данные3 данные4
данные 5
** Заголовки становятся различными значениями здесь *** (это не часть данных)
NewHeading 1
NewHeading 2      NewHeading 3
(Группа 4)
данные1 данные2 
данные3 данные4 
данные 5 
(Группа 5)
данные1 данные2 
данные3 данные4 
данные 5
**так далее

Вывод должен быть таким:

(Группа 1) Заголовок1 Заголовок2 Заголовок3 данные1 данные2 данные3 данные4 данные5
(Группа 2) Заголовок1 Заголовок2 Заголовок3 данные1 данные2 данные3 данные4 данные5
(Группа 3) Заголовок1 Заголовок2 Заголовок3 данные1 данные2 данные3 данные4 данные5
(Группа 4) NewHeading1 NewHeading2 NewHeading3 данные1 данные2 данные3 данные4 данные5
(Группа 5) NewHeading1 NewHeading2 NewHeading3 данные1 данные2 данные3 данные4 данные5

Поля, отмеченные (группа 1-5), являются просто метками для строки, они не должны быть частью возвращенного набора. Заголовки, изменяющиеся на "NewHeading", просто указывают на то, что значения заголовков изменились и должны применяться к данным, следующим за ним.

За последние пару часов я немного прочитал, как это называется, но мне не повезло. Есть идеи? Это для.Net regex engine.

Обновление: добавлены аннотации, показывающие, что заголовки меняются в файле. Я также провел некоторое исследование и считаю, что могу достичь чего-то почти так же легко, имея две модели. Один для заголовков, а другой для данных. Затем я могу сравнить заголовок и индекс соответствия данных (то есть, где он находится в файле) друг с другом и объединить их таким образом.

1 ответ

Решение

1) Прокручивайте построчно. Это не место для регулярных выражений

2) Вам действительно нужно уточнить свой вопрос. Неясно, являются ли (группа 1) и ** заголовки здесь другими **, частью вашего ввода или вы аннотируете его.

Другие вопросы по тегам