![]() |
|
![]() ![]() ![]() |
|
serious |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 316 Регистрация: 15.2.2003 Где: Пенза Репутация: нет Всего: 1 |
Есть документ вида:
Некоторые части окумента опциональны, т.е. раздела или подраздела может и не быть, а вместо этого сразу начинаться глава. Как представить такой документ в виде иерархии объектов? Пробовал делать при помощи регулярного выражения, но оно получается слишком большим и толком не работает... -------------------- Я знаю то, что ничего не знаю, а некоторые не знают и этого. |
|||
|
||||
maxim1000 |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 3334 Регистрация: 11.1.2003 Где: Киев Репутация: 33 Всего: 110 |
тут можно сделать что-то вроде автомата со своим состоянием и идти ним по документу, постепенно строя дерево
т.е. сначала у дерева только корень его и делаем текущим узлом когда встречаем какой-то отдельный объект документа (раздел/подраздел/глава), смотрим на текущий узел, если найденный объект по уровню ниже текущего, добавляем его, как элемент этого текущего, если такой же по уровню или выше - делаем текущим родителя текущего узла и повторяем анализ найденного объекта т.е. что-то типа такого:
-------------------- qqq |
|||
|
||||
serious |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 316 Регистрация: 15.2.2003 Где: Пенза Репутация: нет Всего: 1 |
Я сделал что-то вроде этого, но теперь не знаю, как избавиться от недостатков:
-------------------- Я знаю то, что ничего не знаю, а некоторые не знают и этого. |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Алгоритмы" | |
|
Форум "Алгоритмы" предназначен для обсуждения вопросов, связанных только с алгоритмами и структурами данных, без привязки к конкретному языку программирования и/или программному продукту.
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, maxim1000. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Алгоритмы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |