Роман Опубликовано 6 января, 2009 Поделиться Опубликовано 6 января, 2009 Коллеги, порекомендуйте текстовый редактор, который способен производить поиск и замену не по строке текста или набору символов а по абзацу, например: Заменить: "Мама мыла раму. А мыла ли мама раму? Нафига мама мыла раму? Ей что заняться нечем? Мама мыла раму. А мыла ли мама раму? Нафига мама мыла раму? Ей что заняться нечем? Мама мыла раму. А мыла ли мама раму? Нафига мама мыла раму? Ей что заняться нечем? Мама мыла раму. А мыла ли мама раму? Нафига мама мыла раму? Ей что заняться нечем?Мама мыла раму. А мыла ли мама раму? Нафига мама мыла раму? Ей что заняться нечем?Мама мыла раму. А мыла ли мама раму? Нафига мама мыла раму? Ей что заняться нечем?Мама мыла раму. А мыла ли мама раму? Нафига мама мыла раму? Ей что заняться нечем?" На: "Мама мыла раму. Папа бухал водку. Всех с новым годом! Мама мыла раму. Папа бухал водку. Всех с новым годом! Мама мыла раму. Папа бухал водку. Всех с новым годом! Мама мыла раму. Папа бухал водку. Всех с новым годом! Мама мыла раму. Папа бухал водку. Всех с новым годом!Мама мыла раму. Папа бухал водку. Всех с новым годом!Мама мыла раму. Папа бухал водку. Всех с новым годом!Мама мыла раму. Папа бухал водку. Всех с новым годом!Мама мыла раму. Папа бухал водку. Всех с новым годом!Мама мыла раму. Папа бухал водку. Всех с новым годом!Мама мыла раму. Папа бухал водку. Всех с новым годом!Мама мыла раму. Папа бухал водку. Всех с новым годом!Мама мыла раму. Папа бухал водку. Всех с новым годом!Мама мыла раму. Папа бухал водку. Всех с новым годом!Мама мыла раму. Папа бухал водку. Всех с новым годом!Мама мыла раму. Папа бухал водку. Всех с новым годом!Мама мыла раму. Папа бухал водку. Всех с новым годом!Мама мыла раму. Папа бухал водку. Всех с новым годом!" Также редактор должен хорошо работать с текстами большого объема, около 100мег. Ссылка на комментарий Поделиться на другие сайты More sharing options...
Deepthroat Опубликовано 7 января, 2009 Поделиться Опубликовано 7 января, 2009 А NotePad++ не справляется? Ссылка на комментарий Поделиться на другие сайты More sharing options...
Роман Опубликовано 7 января, 2009 Автор Поделиться Опубликовано 7 января, 2009 я ненашел там такую фишку, там тоже только строку можно вводить :( Ссылка на комментарий Поделиться на другие сайты More sharing options...
Deepthroat Опубликовано 7 января, 2009 Поделиться Опубликовано 7 января, 2009 Там есть регулярные выражения, в которых перевод строки обозначается как \n, т.е., фактически, все выражение записывается в одну строчку. Но, конечно, надо знать синтаксис регулярных выражений. Да и с большими текстами Notepad++ справляется медленно, а мегабайтах на 200 вообще отказывается работать. P.S. Было дело, мне пришлось обрабатывать 2ГБ текста в файлах по 250-300МБ. Ни один редактор открывать такое не взялся, пришлось писать парсер. Здесь я вижу примерно тот же выход. Ссылка на комментарий Поделиться на другие сайты More sharing options...
Pegas Опубликовано 7 января, 2009 Поделиться Опубликовано 7 января, 2009 2Роман Символ переноса строки в Word - ^p 1. сделать маленькую надстройку в Word'е. 2. записать макрос и отредактироваить его в VBA 3. действительно писать парсер, под какой либо формат текста, лучше RTF. ПМСМ 1 вариант, на основе 2го найпростейший. Про 200 Мб текста не знаю, но 600 страниц текста обработка через комманду VBA Find довольно быстрая. PS. Если я правильно понял задачу. Ссылка на комментарий Поделиться на другие сайты More sharing options...
Сергей Опубликовано 7 января, 2009 Поделиться Опубликовано 7 января, 2009 Если это обычный текст, то реализуется элементарно на любом языке программирования. Что-то типа: Функция(источник, что меняем, на что меняем) Тут размер текста будет не важен т.е. любой размер. Ссылка на комментарий Поделиться на другие сайты More sharing options...
Vinni Опубликовано 7 января, 2009 Поделиться Опубликовано 7 января, 2009 Там есть регулярные выражения, в которых перевод строки обозначается как \n, т.е., фактически, все выражение записывается в одну строчку. Но, конечно, надо знать синтаксис регулярных выражений. Да и с большими текстами Notepad++ справляется медленно, а мегабайтах на 200 вообще отказывается работать. P.S. Было дело, мне пришлось обрабатывать 2ГБ текста в файлах по 250-300МБ. Ни один редактор открывать такое не взялся, пришлось писать парсер. Здесь я вижу примерно тот же выход. +1. Небольшой скрипт на Perl поможет решить проблему. :smile3: По поводу регулярных выражений - для тестирования их работоспособности посмотрите Regex Coach Ссылка на комментарий Поделиться на другие сайты More sharing options...
Deepthroat Опубликовано 7 января, 2009 Поделиться Опубликовано 7 января, 2009 Если это обычный текст, то реализуется элементарно на любом языке программирования. Что-то типа: Функция(источник, что меняем, на что меняем) Тут размер текста будет не важен т.е. любой размер. Размер имеет значение. Функция(источник, что меняем, на что меняем) применяется к строкам, содержимое которых находится в ОП. Конечно, чисто теоретически, размер виртуальной памяти в win32, доступный приложению - 2ГБ, однако попробуйте хоть в каком-нибудь языке программирования создать строку размером 200МБ и провести в ней замену указанным Вами способом ;) Даже если у вас физической памяти 4ГБ, данные таких размеров являются аномалией. Поэтому замена тут будет делаться хитрей, без предварительной загрузки всего файла в ОП. Небольшой скрипт на Perl поможет решить проблему. Именно Perl и помог :smile20: Ссылка на комментарий Поделиться на другие сайты More sharing options...
Pegas Опубликовано 7 января, 2009 Поделиться Опубликовано 7 января, 2009 Regular Expressions изучал по этому http://www.regular-expressions.info/reference.html Ссылка на комментарий Поделиться на другие сайты More sharing options...
Deepthroat Опубликовано 7 января, 2009 Поделиться Опубликовано 7 января, 2009 Один из лучших мануалов тут: http://ru2.php.net/manual/ru/regexp.reference.php. Ссылка на комментарий Поделиться на другие сайты More sharing options...
Рекомендуемые сообщения
Заархивировано
Эта тема находится в архиве и закрыта для дальнейших ответов.