|
Компьютерный форум OSzone.net » Сфера Microsoft » Microsoft Office (Word, Excel, Outlook и т.д.) » Разное - Как в файле Word найти дубликаты наборов символов (кусков текста) |
|
Разное - Как в файле Word найти дубликаты наборов символов (кусков текста)
|
Пользователь Сообщения: 58 |
Здравствуйте.
Подскажите, кто знает: Как в файле Word найти дубликаты наборов символов (кусков текста) с минимальной длиной, заданной в качестве параметра. Сами наборы символов не задаются - они программно обнаруживаются в тексте, ограничиваясь лишь их минимальной длиной. Возьмем для примера такой тест: "Мой дядя самых честных правил, Когда не в шутку занемог, Он уважать себя заставил И лучше выдумать не мог самых честных. Его пример другим наука; Но, боже мой, какая скука С больным сидеть и день и ночь, самых честных Не отходя ни шагу прочь!" В качестве параметра минимальной длины набора совпадающих символов примем например 10. Тогда программа должна найти и указать (подсветкой или еще как-то) три вхождения "самых чест" (отмечены жирным шрифтом на примере). Если таких дубликатов (разных дубликатов имеется ввиду) будет несколько, то программа должна сначала показать их список, а потом, когда пользователь выберет интересующее его текст дубликата, показать в общем тексте все его вхождения (напр.все тем же цветом). Далее можно посмотреть второй набор дубликатов и т.д. Существуют ли в природе такие программы? |
|
Отправлено: 15:30, 20-11-2016 |
Пользователь Сообщения: 58
|
Профиль | Сайт | Отправить PM | Цитировать Цитата Iska:
![]() ![]() |
|
Отправлено: 09:32, 22-11-2016 | #11 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Да, к сожалению поиск по регулярным выражениям в Word'е весьма негибкий. Подумаю, что можно придумать.
Кстати, только сейчас заметил свою ошибку: в данном случае ищется и находится не четыре, как я написал выше. Дело в том, что «;» в выражении «([А-ЯЁа-яё]{4;})(*)\1» означает «не менее». То есть будет осуществляться поиск от четырёх символов-повторов и выше — четыре, пять, шесть, …десять, … двадцать — сколько будет найдено. |
Отправлено: 10:27, 22-11-2016 | #12 |
Новый участник Сообщения: 22
|
Профиль | Сайт | Отправить PM | Цитировать Цитата sl.oleg@fb:
(?{10;})*\1 Вот примерчик пошустрее, для поиска цепочек от 4 до 10 знаков: ([!^13]{4;10})*\1 Но лучше указывать набор искомых знаков. |
|
Отправлено: 17:56, 22-11-2016 | #13 |
Пользователь Сообщения: 58
|
Профиль | Сайт | Отправить PM | Цитировать Цитата Methodichka:
Цитата Methodichka:
![]() Цитата Methodichka:
|
|||
Отправлено: 21:29, 22-11-2016 | #14 |
Пользователь Сообщения: 58
|
Профиль | Сайт | Отправить PM | Цитировать Запустил поиск ([!^13]{20;25})*\1 на документе в 41 страницу уже висит крутящийся бублик минут 10... Походу использовать механизмы контекстного поиска нереально из-за их совершенной неприспособленности и неадаптированности к задачам подобного типа. Может кто-то знает программы сторонних производителей для решения таких задач? Пусть не с вордовскими файлами, а с обычными текстовыми? Лишь бы поиск дубликатов проходил в реальные сроки, хотя бы одна страница в секунду...
|
Отправлено: 22:03, 22-11-2016 | #15 |
Новый участник Сообщения: 22
|
Профиль | Сайт | Отправить PM | Цитировать Цитата sl.oleg@fb:
Знаки перечисляются в квадратных скобках, как в примерах выше, можно через дефис: [А-ЯЁа-яё] [A-z] [0-9] Вам надо немного освоить поиск Word. Используйте поисковики и маску "word подстановочные знаки поиск замена". К сожалению, вся справка из Word сейчас ушла на сайты Микрософт. Это радикально снизило ее качество, так как доступность справки стала никакая. И если это чувствую я как писатель макросов, то что говорить об обычных пользователях. И не забывайте, что этот инструмент Word называется "Поиск и замена". Судя по всему, вам надо нечто большее, оригинальное. Такое реализуется уже макросами. |
|
Отправлено: 07:55, 23-11-2016 | #16 |
Пользователь Сообщения: 58
|
Профиль | Сайт | Отправить PM | Цитировать Цитата Methodichka:
|
|
Отправлено: 20:53, 24-11-2016 | #17 |
Новый участник Сообщения: 22
|
Профиль | Сайт | Отправить PM | Цитировать Цитата sl.oleg@fb:
[А-ЯЁа-яё ^s^13] Русский алфавит (А-ЯЁа-яё) + пробелы ( ^s) + знаки препинания (,:;\!\?): [А-ЯЁа-яё ^s,:;\!\?] Предыдущий пример без точки (.) потому, что то такой шаблон у мня не работает: ([А-ЯЁа-яё ^s.,:;\!\?]{4;})*\1 Похоже на очередной глюк Word. Повторюсь ![]() Цитата Methodichka:
|
||
Отправлено: 06:15, 25-11-2016 | #18 |
Пользователь Сообщения: 58
|
Профиль | Сайт | Отправить PM | Цитировать Все же поиск ворда с его глюками и тормозами - это, увы, не решение проблемы. Может все же кто-то слышал о сторонней программе, которая делает подобное с текстом?
|
Отправлено: 08:43, 26-11-2016 | #19 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать sl.oleg@fb, мы так и не увидели даже образца с текстом, ничего не услышали про его объёмы.
|
Отправлено: 10:42, 26-11-2016 | #20 |
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
CMD/BAT - [решено] в файле найти дату, скопировать символы, дописать перед символами в другом файле | sucher | Скриптовые языки администрирования Windows | 7 | 10-03-2016 17:42 | |
VBS/WSH/JS - [решено] Замена определённых символов и вставка текста. | aggressor_ | Скриптовые языки администрирования Windows | 9 | 29-05-2012 15:06 | |
CMD/BAT - Как проверить наличие текста в файле | mamont1 | Скриптовые языки администрирования Windows | 6 | 16-09-2010 16:32 | |
[решено] Найти и заменить в текстовом файле. Как? | Pozia | AutoIt | 15 | 11-03-2010 19:12 | |
Разное - Различные кодировки символов в одном файле | EvgeniyQQQ | Программирование и базы данных | 3 | 21-05-2009 06:49 |
|