Разбор текста на составляющие, на любом языке |
Здравствуйте, гость ( Вход | Регистрация )
Разбор текста на составляющие, на любом языке |
ViGOur |
26.9.2010, 21:20
Сообщение
#1
|
Мастер Группа: Модератор Сообщений: 3296 Регистрация: 9.10.2007 Из: Москва Пользователь №: 4 Спасибо сказали: 231 раз(а) Репутация: 40 |
Есть примерно такой текст:
Цитата А текст Нужно его разложить по файлам и директориям соответсвенно:А0 текст А1 текст ... А00 текст А01 текст ... А000 текст А001 текст ... Б текст Б0 текст ... Б00 текст ... Б000 текст ... Цитата ./А/file -> текст Реализация может быть на любом кросспатформенном языке программирования../А/0/file -> текст ./А/1/file -> текст ... ./А/0/0/file -> текст ./А/0/1/file -> текст ... ./А/0/0/0/file -> текст ./А/0/0/1/file -> текст ... ./Б/file -> текст ./Б/0/file -> текст ... ./Б/0/0/file -> текст ... ./Б/0/0/0/file -> текст ... Интересна скорость реализаци на том или ином языке программирования. Можно использовать сторонние библиотеки. file -> текст это текст в файле с именем file. p.s. вложенность может быть любой, от Б до БN, потому не привязывайтесь к директориям с 3 уровнем вложенности. |
|
|
Iron Bug |
26.9.2010, 21:44
Сообщение
#2
|
Профессионал Группа: Модератор Сообщений: 1611 Регистрация: 6.2.2009 Из: Yekaterinburg Пользователь №: 533 Спасибо сказали: 219 раз(а) Репутация: 12 |
уточни задачу:
встречаются ли в "тексте" выражения типа А0..0, Б0..0, ...? какие лексемы там могут быть? что служит разделителем записей? я бы сделала подобную ***** на ANTLR. там очень просто сгенерить такой парсер. но насчёт скорости её работы - не знаю.
Причина редактирования: давайте общаться без мата
|
|
|
kwisp |
26.9.2010, 22:36
Сообщение
#3
|
астарожна ынтжинэр Группа: Участник Сообщений: 1404 Регистрация: 26.11.2008 Из: ТаганрогРодинаЧехова Пользователь №: 435 Спасибо сказали: 113 раз(а) Репутация: 23 |
так на вскидку С++ stl и всё.
ну платформозависимо создавать дирректорию. если чесно не пойму в чем интерес? - сравнить скорость результата на разных языках? |
|
|
igor_bogomolov |
27.9.2010, 9:36
Сообщение
#4
|
Профессионал Группа: Сомодератор Сообщений: 1215 Регистрация: 22.3.2009 Из: Саратов Пользователь №: 630 Спасибо сказали: 235 раз(а) Репутация: 29 |
Можно написать на ruby
Раскрывающийся текст
|
|
|
molchanoviv |
27.9.2010, 18:21
Сообщение
#5
|
Старейший участник Группа: Сомодератор Сообщений: 597 Регистрация: 18.7.2008 Из: Саратов Пользователь №: 238 Спасибо сказали: 41 раз(а) Репутация: 5 |
на перле гоняем цикл для прохода по строкам и регэкспом разделения строки на состовляющие.
|
|
|
ViGOur |
27.9.2010, 19:37
Сообщение
#6
|
Мастер Группа: Модератор Сообщений: 3296 Регистрация: 9.10.2007 Из: Москва Пользователь №: 4 Спасибо сказали: 231 раз(а) Репутация: 40 |
Имеется ввиду не скорость работы, а скорость разработки...
|
|
|
Алексей1153 |
27.9.2010, 21:09
Сообщение
#7
|
фрилансер Группа: Участник Сообщений: 2941 Регистрация: 19.6.2010 Из: Обливион Пользователь №: 1822 Спасибо сказали: 215 раз(а) Репутация: 34 |
С++ и STL
где-то 15 минут на написание, 5 минут на отладку, 5 минут на оформление поста )) Раскрывающийся текст
вызов Раскрывающийся текст
результат в мапе Раскрывающийся текст
Сообщение отредактировал Алексей1153 - 27.9.2010, 21:10 |
|
|
kwisp |
28.9.2010, 13:51
Сообщение
#8
|
астарожна ынтжинэр Группа: Участник Сообщений: 1404 Регистрация: 26.11.2008 Из: ТаганрогРодинаЧехова Пользователь №: 435 Спасибо сказали: 113 раз(а) Репутация: 23 |
ViGOur,
требуются уточнения: 1. может ли быть последовательность в "перемешку" ? Цитата А1 текст А текст А001 текст А00 текст 2. я так понимаю директории самому создавать надо? |
|
|
kwisp |
28.9.2010, 17:50
Сообщение
#9
|
астарожна ынтжинэр Группа: Участник Сообщений: 1404 Регистрация: 26.11.2008 Из: ТаганрогРодинаЧехова Пользователь №: 435 Спасибо сказали: 113 раз(а) Репутация: 23 |
Раскрывающийся текст
вот. без проверок корректности файла, с учетом последовательности А...N указанной в первом посте. ну и не знаю как кроссплатформенно создать директорию. |
|
|
ViGOur |
28.9.2010, 19:14
Сообщение
#10
|
Мастер Группа: Модератор Сообщений: 3296 Регистрация: 9.10.2007 Из: Москва Пользователь №: 4 Спасибо сказали: 231 раз(а) Репутация: 40 |
|
|
|
Текстовая версия | Сейчас: 22.12.2024, 4:02 |