1

Тема: Удаление пробелов между инициалами

Здравствуйте. Вопрос такой: каким образом можно найти и убрать лишние пробелы между инициалами?
Пример:
1. Иванов А. А., Петров Б. Б., .......
2. Анечкина С. С., Танечкина М. М.

Убрать двойные пробелы мне удалось с помощью команды "найти и заменить". А здесь как-то не могу додуматься, что искать)

Спасибо)

2

Re: Удаление пробелов между инициалами

Шаблоны для поиска с подстановочными знаками:
пустота место: [ ^s]@
инициал русский: <[А-ЯЁ].
слово кириллицы с заглавной: <[А-ЯЁ]['а-яё]@>
слово кириллицы с заглавной или заглавными: <[А-ЯЁ]['А-ЯЁа-яё]@>
инициал английский: <[A-Z].
слово латиницы с заглавной: <[A-Z]['a-z]@>
слово латиницы с заглавной или заглавными:  <[A-Z]['A-Za-z]@>

Пример 1: Инициалы + пробелы + Фамилия -> Инициалы + Фамилия
Найти: (<[А-ЯЁ].[А-ЯЁ].)[ ^s]@([А-ЯЁ]['А-ЯЁа-яё]@>)
Заменить: \1\2

Пример 2: Фамилия + пробелы + Инициал + пробелы + Инициал -> Фамилия + Неразрывный пробел + Инициал + Инициал
Найти: (<[А-ЯЁ]['А-ЯЁа-яё]@)[ ^s]@([А-ЯЁ].)[ ^s]@([А-ЯЁ].)
Заменить: \1^s\2\3

Если у вас не список фамилий, а документ с разбросанными по нему фамилиями, то простой заменой тут не обойтись. Слишком много вариантов и исключений, например:
СЛОВО   И.И.   СЛОВО
Слово   И.И.   Слово
Слово   И.И.Слово
Слово   И.   И.
Слово   И.И.
Слово   И.
Бывают многобуквенные инициалы: "Дж", "Ст", "Фр", "Вс"…

Макросы под заказ и готовый пакет - mtdmacro.ru

3

Re: Удаление пробелов между инициалами

Найти: (<[А-ЯЁ][а-яё]@> [А-ЯЁ].) ([А-ЯЁ].)
Заменить на: \1\2
Но между фамилией и инициалами, и между инициалами должен стоять неразрывный пробел.

Лучше день потерять — потом за пять минут долететь!

4

Re: Удаление пробелов между инициалами

Вождь пишет:

<[А-ЯЁ]['а-яё]@>

Подскажите а что делает знак "'" в Вашем выражении? Не смог найти информацию в справке.

5

Re: Удаление пробелов между инициалами

Денис пишет:

Подскажите а что делает знак "'" в Вашем выражении?

Это просто апостроф - орфографический знак.
Бывают такие имена и фамилии:
Жанна д’Арк, О’Коннор, Д’Артаньян...

Макросы под заказ и готовый пакет - mtdmacro.ru

6

Re: Удаление пробелов между инициалами

У меня почему-то не работает то, что вы предлагаете. При вводе формулы из примера программа ничего не находит в тексте (где огромное количество пробелов между инициалами в разных вариантах, ).

Сам догадался до такой формулы:
^$. ^$.
Находит, но не понимаю, на что заменить..

7

Re: Удаление пробелов между инициалами

Прошу прощения, я не отметил чекбокс "подстановочные знаки". Но английские имена все равно не нашел.

8

Re: Удаление пробелов между инициалами

еще требуется по всему тексту заменить «Фамилия И О» на «И.О.ºФамилия». Решение нашел такое:
Найти: ([A-Я]{1;1}[a-я]{2;11}) ([A-Я]{1;1}) ([A-Я]{1;1})
Заменить на: \2.\3.^s\1

Но оно тоже почему-то не работает! Ничего не найдено, пишет..
В чем может быть дело?