Word: специальные символы и подстановочные знаки
В окне "Найти и заменить" Microsoft Word есть два типа подстановок - специальные символы и подстановочные знаки.
Те и другие можно вводить в строки поиска и замены, включив используя список "Special" ("Специальный") в полностью открытом окне "Найти и заменить" (нажать комбинацию клавиш Ctrl+H
, потом кнопку "Больше>>
").
Специальные символы - это те, которых нет на клавиатуре или которые нельзя непосредственно вписать в строки поиска/замены, например, разрыв строки.
Если в окне поиска/замены включен чекбокс Use wildcards (Подстановочные знаки), то можно задавать достаточно сложные условия поиска и замены, потому что подстановчные знаки - это офисная реализация всё тех же регулярных выражений.
Чекбокс "Подстановочные знаки" в работе - убираем лишние пробелы в тексте
Некоторые символы и знаки можно использовать только в строке поиска, а некоторые — только в строке замены. При этом возможность применения части символов зависит от того, включен ли чекбокс Use wildcards (Подстановочные знаки).
Полный список подстановок в самом Word отсутствует или я его не нашёл, поэтому ниже приводится более-менее адекватный список, актуальный для всех версий Word плюс немного примеров.
1. Строка поиска
Спец. символы | Обозначение (англ.) | Обозначение (рус.) |
^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 | Любое количество и комбинация обыкновенных и неразрываемых пробелов, табуляций и концов абзаца |
Спец. символы | Обозначение (англ.) | Обозначение (рус.) |
^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 (¬) | Мягкий перенос (¬) |
Подстановочные знаки | Обозначение (рус.) | Пример строки поиска | Примеры результатов поиска (в кавычках) |
? | Один любой символ | б?к | "бак", "бок", "бук", "б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. Строка замены
Спец. символы | Обозначение (англ.) | Обозначение (рус.) |
^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 (¬) | Мягкий перенос (¬) |
Спец. символы | Обозначение (англ.) | Обозначение (рус.) |
\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 | Замена десятичных точек между цифрами на запятые |
24.09.2020, 10:16 [46619 просмотров]