в том, что нумерация проставлена как попало:
1.
1.1
1 1
1)
И всё в таком духе. Местами дублируется, местами и вовсе отсутствует.
Есть какие-то готовые решения, способные с этим справиться, или это всё безнадёжно?
Регулярки могут помочь
Там на самом деле столько мусора, что я шибко сомневаюсь, что эти Авгиевы конюшни можно разгрести вручную, поэтому и решил спросить здесь) Ну, т.е. самый очевидный совет "да просто посчитай абзацы, начинающиеся с цифр!", конечно, не канает.
если нумерация отсутствует, это все равно считается пронумерованным абзацем по условиям задачи?
Да. Но я понимаю, что это скорее исключение, которым можно пренебречь, поэтому мне хотя бы просто посчитать пронумерованные.
Можно один контрпример, чтобы представить с чем мы имеем дело. Ибо пронумерованный абзац без нумера — звучит странно
Если срочно нужно, то я бы сделал Регексы + потом эвристически вычислил бы абзацы посередине без нумерации, если соседи с нумерациями, то значит берём.
Я понял, спасибо. Но регулярки я берегу на десерт, когда на столе уже совсем ничего не останется))) Сейчас же я пока пытаюсь выяснить, что вообще в меню есть)
А какой здесь "правильный" ответ?)
Заголовки к заголовкам, текст к тексту.
В Pullenti есть анализатор InstrumentAnalyzer, который как раз решает эту задачу - восстанавливает структуру документа по его тексту. В частности, определяются структурные элементы с нумерацией и наименованиями - разделы, главы, параграфы. Для НПА ещё и пункты, подпункты и т.п. Есть решение, которое проверяет корректность нумерации, но оно коммерческое.
Обсуждают сегодня