БлогNot. Word: специальные символы и подстановочные знаки

Word: специальные символы и подстановочные знаки

В окне "Найти и заменить" Microsoft Word есть два типа подстановок - специальные символы и подстановочные знаки. Те и другие можно вводить в строки поиска и замены, включив используя список "Special" ("Специальный") в полностью открытом окне "Найти и заменить" (нажать комбинацию клавиш Ctrl+H, потом кнопку "Больше>>").

Специальные символы - это те, которых нет на клавиатуре или которые нельзя непосредственно вписать в строки поиска/замены, например, разрыв строки.

Если в окне поиска/замены включен чекбокс Use wildcards (Подстановочные знаки), то можно задавать достаточно сложные условия поиска и замены, потому что подстановчные знаки - это офисная реализация всё тех же регулярных выражений.

Чекбокс "Подстановочные знаки" в работе - убираем лишние пробелы в тексте
Чекбокс "Подстановочные знаки" в работе - убираем лишние пробелы в тексте

Некоторые символы и знаки можно использовать только в строке поиска, а некоторые — только в строке замены. При этом возможность применения части символов зависит от того, включен ли чекбокс Use wildcards (Подстановочные знаки).

Полный список подстановок в самом Word отсутствует или я его не нашёл, поэтому ниже приводится более-менее адекватный список, актуальный для всех версий Word плюс немного примеров.

1. Строка поиска
Специальные символы, которые можно использовать только если опция Use wildcards (Подстановочные знаки) выключена
Спец. символы Обозначение (англ.) Обозначение (рус.)
^p Paragraph mark (¶) Конец абзаца (¶)
^? Any character Любой символ
^# Any digit Любая цифра
^$ Any letter Любая буква
^e Endnote mark Концевая сноска
^d Field Поле
^f Footnote mark Нижняя сноска
^b Section break (===End of section===) Разрыв секции
^w Whitespace Любое количество и комбинация обыкновенных и неразрываемых пробелов, табуляций и концов абзаца
Специальные символы, использование которых не зависит от опции Use wildcards (Подстановочные знаки)
Спец. символы Обозначение (англ.) Обозначение (рус.)
^t Tab character Символ табуляции
^a Comment mark Комментарий
^0nnn ANSI or ASCII characters Любой ANSI или ASCII символ с кодом nnn
^^ Caret character Символ ^
^g Graphic Графика
^n Column break (···Column Break···) Разрыв колонки
^l Manual line break Принудительный разрыв строки
^m Manual page break (---Page Break---) Принудительный разрыв страницы (---Page Break---). Если опция Use wildcards включена, то ищет принудительный разрыв и страницы, и секции
^+ Em dash (—) Длинное тире (—). Символ с кодом 0151
^= En dash (–) Короткое тире (–). Символ с кодом 0150
^s Nonbreaking space (°) Неразрывный пробел (°)
^~ Nonbreaking hypen (-) Неразрывный дефис (-)
^- Optional hypen (¬) Мягкий перенос (¬)
Подстановочные знаки, которые можно использовать только если опция Use wildcards (Подстановочные знаки) включена
Подстановочные знаки Обозначение (рус.) Пример строки поиска Примеры результатов поиска (в кавычках)
? Один любой символ б?к "бак", "бок", "бук", "б5к", "б¶к"
* Любое количество любых символов б*к "бык", "бардак", "белый¶
полковник"
[] Один из указанных символов б[аоу]к "бак", "бок", "бук"
[-] Один символ из диапазона.
Диапазон должен быть указан в порядке возрастания кодов символов.
[а-яё] Любая строчная русская буква
[А-ЯЁ] Любая прописная русская буква
[0-9] Любая цифра
[!] Один любой символ, не указанный после восклицательного знака б[!ы]к "бак", "бок", но не "бык"
[!x-z] Один любой символ, не входящий в диапазон, указанный после восклицательного знака [!а-яё]ок "Бок", "Док", но не "бок", "док"
[!0-9] Любой символ, кроме цифр
{n} Строго n вхождений предыдущего символа или выражения.
Выражением является все то, что заключено в круглые скобки. Выражение может состоять как из конкретных символов, так и содержать спец. символы.
10{3} "1000", но не "100", "10000"
10(20){2} "102020", но не "1020", "10202020"
{n;} n и более вхождений предыдущего символа или выражения 10{3;} "1000", "10000", "100000", но не "100"
{n;m} От n до m включительно вхождений предыдущего символа или выражения 10{3;4} "1000", "10000", но не "100", "100000"
@ Ноль или более вхождений предыдущего символа или выражения 10@ "10", "100", "1000", "10000"
< Начало слова <бок "боксёр", но не "колобок"
> Конец слова бок> "колобок", но не "боксёр"
2. Строка замены
Специальные символы, использование которых не зависит от опции Use wildcards (Подстановочные знаки)
Спец. символы Обозначение (англ.) Обозначение (рус.)
^p Paragraph mark (¶) Разрыв абзаца (¶)
^t Tab character Символ табуляции
^0nnn ANSI or ASCII characters Любой ANSI или ASCII символ с кодом nnn
^^ Caret character Символ ^
^c Clipboard contents Содержимое буфера обмена
^& Contents of the Find what box Содержимое строки поиска (или то, что найдено)
^n Column break
(···Column Break···)
Разрыв колонки
^l Manual line break (¿) Принудительный разрыв строки
^m Manual page break (---Page Break---) Принудительный разрыв страницы
^+ Em dash (-) Длинное тире (-). Символ с кодом 0151
^= En dash (–) Короткое тире (–). Символ с кодом 0150
^s Nonbreaking space (°) Неразрывный пробел (°)
^~ Nonbreaking hypen (-) Неразрывный дефис (-)
^- Optional hypen (¬) Мягкий перенос (¬)
Подстановочные знаки, которые можно использовать только если опция Use wildcards (Подстановочные знаки) включена
Спец. символы Обозначение (англ.) Обозначение (рус.)
\n Expression n Выражение номер n из строки поиска

Примечание 1. В операторах {n;} и {n;m} точка с запятой означает List separator (Разделитель элементов списка) из настроек операционной системы, завиящих от локали (например, в США - запятая, в России - точка с запятой).

Примечание 2. Для поиска в документе символов, которые в строке поиска "заняты" как специальные перед ними ставится обратный слэш (\). Например, если включена опция Use wildcards (Подстановочные знаки), для поиска восклицательного знака в строке поиска вводится \!

3. Примеры для поиска
Строка поиска Что ищет
[!^0013]^0013[!^0013] Конец абзаца в окружении двух других символов
^0032{2;} Два и более пробелов
[.,:;\!\?] Знак препинания
<[0-9]@,[0-9]@> Вещественное число, набранное через запятую
<[А-яЁё]@> Русское слово (зависит от кодировки)
4. Примеры для замены

Подстановочные знаки включены!

Строка поиска Строка замены Что заменяет
(^0013){2;} \1 Удаление пустых строк (если они создавались нажатием Enter)
^0032([.,:;\!\?]) \1 Удаление пробелов перед знаками препинания
([0-9])^0032([0-9]) \1^s\2 Замена пробелов между цифрами на неразрывные пробелы
-([0-9]) ^0150\1 Замена дефисов перед цифрами на правильный символ "минус"
Ивано([а-я]@>) Петро\1 Замена Ивановых на Петровых во всех падежах сразу (конечно, фамилии должны склоняться одинаково)
(<[0-9]@).([0-9]@>) \1,\2 Замена десятичных точек между цифрами на запятые


теги: textprocessing word список

24.09.2020, 10:16; рейтинг: 130