Перейти к содержанию

Текстовый редактор для аналитика


Рекомендуемые сообщения

Коллеги, порекомендуйте текстовый редактор, который способен производить поиск и замену не по строке текста или набору символов а по абзацу, например:

 

Заменить:

"Мама мыла раму. А мыла ли мама раму? Нафига мама мыла раму? Ей что заняться нечем?

Мама мыла раму. А мыла ли мама раму? Нафига мама мыла раму? Ей что заняться нечем? Мама мыла раму. А мыла ли мама раму? Нафига мама мыла раму? Ей что заняться нечем?

Мама мыла раму. А мыла ли мама раму? Нафига мама мыла раму? Ей что заняться нечем?Мама мыла раму. А мыла ли мама раму? Нафига мама мыла раму? Ей что заняться нечем?Мама мыла раму. А мыла ли мама раму? Нафига мама мыла раму? Ей что заняться нечем?Мама мыла раму. А мыла ли мама раму? Нафига мама мыла раму? Ей что заняться нечем?"

 

На:

"Мама мыла раму. Папа бухал водку. Всех с новым годом! Мама мыла раму. Папа бухал водку. Всех с новым годом! Мама мыла раму. Папа бухал водку. Всех с новым годом! Мама мыла раму. Папа бухал водку. Всех с новым годом!

Мама мыла раму. Папа бухал водку. Всех с новым годом!Мама мыла раму. Папа бухал водку. Всех с новым годом!Мама мыла раму. Папа бухал водку. Всех с новым годом!Мама мыла раму. Папа бухал водку. Всех с новым годом!Мама мыла раму. Папа бухал водку. Всех с новым годом!Мама мыла раму. Папа бухал водку. Всех с новым годом!Мама мыла раму. Папа бухал водку. Всех с новым годом!Мама мыла раму. Папа бухал водку. Всех с новым годом!Мама мыла раму. Папа бухал водку. Всех с новым годом!Мама мыла раму. Папа бухал водку. Всех с новым годом!Мама мыла раму. Папа бухал водку. Всех с новым годом!Мама мыла раму. Папа бухал водку. Всех с новым годом!Мама мыла раму. Папа бухал водку. Всех с новым годом!Мама мыла раму. Папа бухал водку. Всех с новым годом!"

 

Также редактор должен хорошо работать с текстами большого объема, около 100мег.

Ссылка на комментарий
Поделиться на другие сайты

Там есть регулярные выражения, в которых перевод строки обозначается как \n, т.е., фактически, все выражение записывается в одну строчку. Но, конечно, надо знать синтаксис регулярных выражений. Да и с большими текстами Notepad++ справляется медленно, а мегабайтах на 200 вообще отказывается работать.

 

P.S. Было дело, мне пришлось обрабатывать 2ГБ текста в файлах по 250-300МБ. Ни один редактор открывать такое не взялся, пришлось писать парсер. Здесь я вижу примерно тот же выход.

Ссылка на комментарий
Поделиться на другие сайты

2Роман

 

Символ переноса строки в Word - ^p

 

1. сделать маленькую надстройку в Word'е.

2. записать макрос и отредактироваить его в VBA

3. действительно писать парсер, под какой либо формат текста, лучше RTF.

 

ПМСМ 1 вариант, на основе 2го найпростейший.

 

Про 200 Мб текста не знаю, но 600 страниц текста обработка через комманду VBA Find довольно быстрая.

 

PS. Если я правильно понял задачу.

Ссылка на комментарий
Поделиться на другие сайты

Если это обычный текст, то реализуется элементарно на любом языке программирования.

Что-то типа: Функция(источник, что меняем, на что меняем)

Тут размер текста будет не важен т.е. любой размер.

Ссылка на комментарий
Поделиться на другие сайты

Там есть регулярные выражения, в которых перевод строки обозначается как \n, т.е., фактически, все выражение записывается в одну строчку. Но, конечно, надо знать синтаксис регулярных выражений. Да и с большими текстами Notepad++ справляется медленно, а мегабайтах на 200 вообще отказывается работать.

 

P.S. Было дело, мне пришлось обрабатывать 2ГБ текста в файлах по 250-300МБ. Ни один редактор открывать такое не взялся, пришлось писать парсер. Здесь я вижу примерно тот же выход.

+1. Небольшой скрипт на Perl поможет решить проблему. :smile3:

 

По поводу регулярных выражений - для тестирования их работоспособности посмотрите Regex Coach

Ссылка на комментарий
Поделиться на другие сайты

Если это обычный текст, то реализуется элементарно на любом языке программирования.

Что-то типа: Функция(источник, что меняем, на что меняем)

Тут размер текста будет не важен т.е. любой размер.

Размер имеет значение. Функция(источник, что меняем, на что меняем) применяется к строкам, содержимое которых находится в ОП. Конечно, чисто теоретически, размер виртуальной памяти в win32, доступный приложению - 2ГБ, однако попробуйте хоть в каком-нибудь языке программирования создать строку размером 200МБ и провести в ней замену указанным Вами способом ;) Даже если у вас физической памяти 4ГБ, данные таких размеров являются аномалией. Поэтому замена тут будет делаться хитрей, без предварительной загрузки всего файла в ОП.

 

Небольшой скрипт на Perl поможет решить проблему.

Именно Perl и помог :smile20:

Ссылка на комментарий
Поделиться на другие сайты

Заархивировано

Эта тема находится в архиве и закрыта для дальнейших ответов.

×
×
  • Создать...