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^s2 Замена пробелов между цифрами на неразрывные пробелы
-([0-9]) ^01501 Замена дефисов перед цифрами на правильный символ «минус»
Ивано([а-я]@>) Петро1 Замена Ивановых на Петровых во всех падежах сразу (конечно, фамилии должны склоняться одинаково)
(<[0-9]@).([0-9]@>) 1,2 Замена десятичных точек между цифрами на запятые

24.09.2020, 10:16 [28918 просмотров]


У Word есть мощные возможности поиска, которые позволяют искать вам текст, числа, форматы, параграфы, разрывы страниц, использовать подстановочные символы, коды полей и многое другое. Используя подстановочные символы, вы можете искать просто всё что угодно в вашем документе. Поскольку функция поиска совмещена с заменой, то вы можете также выполнять весьма замысловатые преобразования текста.

Прежде чем мы приступим, поясню пару терминов, которые могут быть не совсем понятными для вас.

Регулярное выражение — это условное обозначение критериев, которым должна соответствовать искомая строка. С помощью регулярных выражений можно найти множество строк или слов, соответствующих заданным условиям.

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

Давайте начнём знакомство с продвинутыми возможностями поиска в Word!

Как использовать подстановочные символы в продвинутом поиске

В ленте Word переключитесь на вкладку «Главная» и нажмите кнопку «Заменить»:

В окне «Найти и заменить» кликните «Больше >>», чтобы развернуть диалоговое окно и увидеть дополнительные опции. Если вы увидели кнопку «<< Меньше», значит всё прошло удачно.

В раскрывшемся окне для показа опций поиска, включите флажок «Подстановочные знаки».

Обратите внимание, что после того, как вы включили опцию «Подстановочные знаки», Word сразу под полем «Найти:» показывает, что эта опция включена. Также когда выбран флажок «Подстановочные знаки», некоторые опции становятся недоступными для включения, а именно: «Учитывать регистр», «Только слово целиком», «Учитывать префикс», «Учитывать суффикс».

Теперь нажмите кнопку «Специальный» для просмотра списка подстановочных знаков.

В Word доступны следующие подстановочные символы:

Символ Значение
? Любой знак
[-] Символ в диапазоне
< В начале слова
> В конце слова
() Выражение — единая последовательность символов. Также применяется для обратных ссылок
[!] Не
{;} Число вхождений
@ Предыдущий 1 или более
* Любое число знаков
^t Знак табуляции
^^ Знак крышки
^n Знак столбца
^+ Длинное тире
^= Короткое тире
^g Графический объект
^l Разрыв строки
^m Разрыв страницы / раздела
^~ Неразрывный дефис
^s Неразрывный пробел
^- Мягкий перенос

Наконец выберите подстановочный символ для вставки в ваши критерии поиска. После выбора подстановочного знака, символ добавляется в строку поиска. Когда запомните значения, вы также можете использовать клавиатуру для ввода символов вместо вставки их путём выбора из списка. Меню «Специальный» работает как справка в случае если вы не помните, какие доступны специальные символы и их значения.

Готовые увидеть как работают подстановочные символы? Давайте ознакомимся с конкретными примерами использования регулярных выражений и подстановочных символов в Word.

Для чего используются подстановочные символы?

В меню «Специальный» содержит много специальных символов, которые вы можете использовать для поиска по документу Word, но на самом деле не все они являются подстановочными символами. Большинство из них нужны для поиска каких-то специфичных и, иногда, скрытых символов Word, таких как пробелы, разного вида тире, разрывы страницы.

Здесь мы заострим внимание в первую очередь на подстановочных знаках, которые означают один или более символов текста или модифицируют поиск на основе другого символа в вашем поиске.

Использование звёздочки для указания любого количества символов

Скорее всего, самым часто используемым подстановочным символом для вас станет звёздочка. Она означает, что вы хотите найти любое количество символов. Например, чтобы найти все слова, начинающиеся с «отм», напечатайте «отм*» в строке поиска и затем кликните кнопку «Найти далее». Наше регулярное выражение означает любое количество букв (* звёздочка), следующих после «отм».

В качестве альтернативы ввода символа звёздочки с клавиатуры, вы можете использовать выбор специального символа из списка подстановочных знаком. Вначале наберите «отм» в строке «Найти». Поставьте галочку «Подстановочные знаки». Затем кликните кнопку «Специальный» и выберите «Любое число символов». После этого нажмите кнопку «Найти далее»:

Word оценивает поиск и показывает вам первое вхождение, которое он найдёт в документе. Продолжайте кликать «Найти далее», чтобы найти все части текста, которые соответствуют вашему поисковому термину.

Вы должны помнить важную вещь: при включении подстановочных знаков, поиск автоматически становится чувствительным к регистру (такова особенность регулярных выражений, частью которых являются подстановочные символы). Поэтому поиск «отм*» и «Отм*» даст различные результаты.

Использование знака вопроса для поиска определённого количества символов

В то время как звёздочка означает любое количество символов, знак вопроса в регулярном выражении означает единичный (один) символ. Например, если «отм*» будет искать строки начинающиеся с «отм» за которыми идёт любое количество символов, то «отм?» будет искать строки, начинающиеся с «отм», за которой идёт только один символ.

Как и звёздочку, знак вопроса можно использовать в любой части слова — в том числе в начале и в середине.

Также можно использовать вместе несколько знаков вопроса вместе, тогда они будут обозначать несколько букв.

Например, регулярное выражение для поиска «о?о?о» оно означает букву «о», за которой идёт любой символ, затем снова идёт буква «о», затем опять любой символ и затем опять буква «о» найдёт следующие слова:

  • потоков
  • многополосных
  • многополосных
  • которое
  • правового
  • такового
  • такого основания

Можно найти слова с четырьмя буквами «о», шаблон «о?о?о?о»:

  • которого
  • многополосных

Или с тремя буквами «а», шаблон «а?а?а»:

  • наказания
  • задача
  • аппарата
  • высказана
  • началах

Необязательно использовать одинаковые буквы — составляйте выражения под ваши задачи.

Например, чтобы найти слова, в которых первая буква «з», затем идёт любой другой символ, а затем буква «к» и вновь любой символ, шаблон для поиска «з?к?» найдёт:

  • закономерности
  • законодательно

Использование знака собачка (@) и фигурных скобок ({ and}) для поиска вхождений предыдущего символа

Вы можете использовать знак собачка (@) для указания одного или более вхождения предыдущего символа. Например, «ro@t» найдёт все слова, которые начинаются на «ro» и заканчиваются на «t» и которые имеют любое количество букв «o» между этими частями. Поэтому по этим условиям поиска будут найдены слова «rot», «root» и даже «roooooot».

Для большего контроля поиска предыдущих символов, вы можете использовать фигурные скобки, внутри которые укажите точное число вхождений предыдущего символа, который вы хотите найти. Например, поиск «ro{2}t» найдёт «root», но не найдёт «rot» или «roooooot».

Также поддерживает синтаксис вида {n;} — означает искать количество вхождений символа более n раз; {;m} — означает искать количество вхождений символа менее m раз; {n;m} — означает искать количество вхождений символа более n раз, но менее m раз.

Чтобы показать более практический пример, немного забежим вперёд, следующий поиск использует набор символов (будут рассмотрены в этой статье чуть ниже), в результате, будут найдены все слова, в которых подряд идут четыре согласных буквы:

[бвгджзйклмнпрстфхцчшщ]{4}

Использование угловых скобок (< и >) для обозначения начала и конца слова

Думаю, вы заметили, особенно когда составляли поисковые запросы со звёздочкой, что пробел считается за обычный символ и могут быть найдены довольно неожиданные фрагменты большого размера, либо фрагменты, состоящие из двух слов. Вы можете использовать угловые скобки (символы «больше чем» и «меньше чем») для обозначения начала и конца слова поиска. Например, вы можете искать «<но>» и Word найдёт все вхождения «но», но не найдёт слова вроде «новости», «законодатель».

Это довольно полезно, но эта техника становится более мощной, когда вы комбинируете её с другими подстановочными символами. Например, с помощью «<з????>» вы можете найти все слова, которые начинаются на «з» и состоят ровно из пяти букв.

Вам необязательно использовать обе угловые скобки в паре. Вы можете обозначить просто только начало или конец слова, используя только одну соответствующую скобку. Например «ство>» найдёт слова

  • руководство
  • множество
  • средство
  • количество

Использование квадратных скобок ([ и ]) для поиска определённых символов или диапазонов символов

Вы можете использовать квадратные скобки для указания любых символов или диапазонов символов. Например «[а]» будет искать любые вхождения буквы «а».

В следующем примере, будет искаться строка, которая начинается на «р», затем идёт любая гласная, а затем снова буква «р»: «р[аеиоуэюя]р»

Далее аналогичный пример, но между буквами «р» должно быть две любых гласных: «р[аеиоуэюя]{2}р», будет найдено, к примеру, слово «приоритет».

Вы также можете искать квадратные скобки для поиска диапазонов символов, например «[a-z]» найдёт любую из этих букв в нижнем регистре. Поиск «[0-9]» найдёт любую из этих цифр.

Пример р[а-и]{2}р найдёт строку, которая начинается и заканчивается на букву «р» между которыми две любые буквы из указанного диапазона.

Следующий пример довольно сложный, но при этом и довольно интересный:

[А-Я]{1}[а-я0-9 ,-]{1;}.

В начале строки должна стоят любая заглавная буква ([А-Я]) ровно один раз ({1}). Затем должны идти маленькие буквы, цифры, пробелы, запятые и тире ([а-я0-9 ,-]) хотя бы один раз и более ({1;}), в самом конце должна стоять точка (.)

Думаю вы догадались, что это регулярное выражение которое будет искать предложения. Перечислены не все возможные символы, поэтому не будут найдены предложения, содержащие кавычки и некоторые другие символы, а также вопросительные и восклицательные предложения.

То есть вы можете комбинировать подстановочные символы и дополнять их кванторами количества, а затем это всё комбинировать любое количество раз, пока не получите желаемый результат. На самом деле, это довольно сложно — почти как программирование, поскольку требует абстрактного мышления.

Использование скобок для группировки поисковых терминов в последовательности

Вы можете использовать круглые скобки в вашем поиске для группировки последовательностей символов.

Можно использовать довольно простые шаблоны, например «(го){3;}» найдёт строки, в которых «го» встречается три и более раза подряд.

Но настоящую силу эта конструкция покажет при использовании в операциях поиска и замены.

Показанная далее техника называется «обратные ссылки». Начнём с конкретного примера, чтобы было проще понять. Предположим, нам нужно во всём документе поменять местами два слова, допустим, имя и фамилию. К примеру, во всём тексте множество раз упоминается «Милосердов Алексей», а нам нужно, чтобы было «Алексей Милосердов».

Для этого в строке поиска мы вставляем «(Милосердов) (Алексей)», а в строке «Заменить на» пишем «2 1».

Скобки не участвуют в поиске, то есть в результате будет искаться фраза «Милосердов Алексей» При этом то, что было найдено в первых скобках, будет присвоено как значение «1», а то, что было найдено во вторых скобках, станет значением «2». При этом найденная строка заменится на «Алексей Милосердов».

Можно сделать по-другому, допустим вместо фамилии и имени, я хочу заменить на фамилию и инициалы, тогда в строке поиска я ищу «(Милосердов) (Алексей)», а в строке «Заменить на» пишу «1 А.В.».

В скобках можно писать не только слова, там могут использоваться подстановочные символы в разных сочетаниях, а также кванторы количества. Когда находится целая фраза, то Word автоматически пронумеровывает эти группы слева направо (это происходит «под капотом» — мы это не видим), поэтому в поле «Заменить на» мы можем использовать эти группы по их номеру, перед которым нужно поставить обратный слэш.

Рассмотрим более жизненный пример. Допустим, у нас по всему документу имеются даты вида 31.12.2019 (то есть в формате день.месяц.год), а мы хотим чтобы все эти даты были в формате 2019.12.31 (то есть год.месяц.день).

Тогда для поиска любых дат составляем регулярное выражение с подстановочными символами:

«[0-9]{2}.[0-9]{2}.[0-9]{4}»

«[0-9]» — это диапазон, обозначающий все цифры, «{2}» — это квантор количества, который говорит, что предыдущий символ должен встречаться ровно два раза. То есть будет искаться строка длиной ровно два символа, состоящая из цифр. Затем идёт точка, затем снова аналогичная строка и точка, и в конце строка из четырёх цифр.

Строка подходит для поиска, но чтобы были созданы обратные ссылки, мы заключаем нужные нам элементы в круглые скобки: «([0-9]{2}).([0-9]{2}).([0-9]{4})» — она будет работать точно также, как и предыдущая.

Теперь составляем строку «Заменить на». В начале идёт год, то есть третья группа, она обозначается как «3», затем точка, затем вторая группа, затем опять точка и затем первая группа, получаем «3.2.1».

Используйте обратный слэш () если вам нужно искать символы, которые являются подстановочными знаками

А что если вам нужно найти в документе символ, который используется как подстановочный? Например, если вам нужно найти звёздочку? Если просто её вставите, то она сработает как подстановочный знак и будет найдено всё что угодно. Есть два способа искать символы в их буквальном значении.

Первый способ, это снять галочку с опции «Подстановочные знаки» перед выполнением поиска. Но если вы не хотите это делать, вы можете использовать обратный слэш () перед этим символом. Например, чтобы найти буквальный знак вопроса при включённых «Подстановочных знаках», введите в поле Поиск «?».

Заключение

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

Связанные статьи:

  • Как в Microsoft Word сделать массовую замену или удаление текста (74%)
  • Как убрать лишние пробелы в Microsoft Word (74%)
  • Как выделить текст цветом в Word (66.3%)
  • Как вставить музыкальный символ, ноты в Word (57.7%)
  • Как напечатать диапазон страниц документа Word из нескольких разделов (57.7%)
  • Как заблокировать текстовые поля в Word (RANDOM — 50%)

Занимался вот намедни всяческими

сексуальными

извращениями с текстами очередных аффтаров от медицины в MS Word. И нужно мне было искать и заменять кучу всякой нецензурщины и тарабарщины, ибо аффтары, по большей своей части, русскому языку

вовсе не

обучены плохо (всё на аглицком кириллицей норовят писать и прочее) и тексты форматировать читабельно не умеют. Заменять и просто менять там нужно было очень много чего, а стандартных общеизвестных встроенных в редактор средств поиска стало не хватать, нужно было прибегать к использованию регулярных выражений. А как? На известные мне ранее маски волшебная программа Word стала грязно ругаться матом. Как всегда выручил Гугл. Немного покопавшись я обнаружил, что гениальные мелкомягкие написатели MS Office и тут пошли своим путём, обозвав такие выражения wildcards и немного изменив их синтаксис. В целом разобраться можно.

Оказалось всё довольно просто (у меня Office 2007, но, думаю, будет справедливо и для предыдущих версий, разве что будут незначительные отличия в названиях пунктов, но вы разберётесь, я верю ;)). И не нужно было, по большому счёту, никуда лезть искать. Наряду со сразу видимыми, если вызвать в Word’е окно «Поиск» (Ctrl+F) или «Поиск и замена» (Ctrl+H), поставить курсор в поле «Найти» и нажать кнопочку «Больше», а после «Специальный», спецсимволами, есть и ещё одна опция, о которой чуть ниже.Оказалось всё довольно просто (у меня Office 2007, но, думаю, будет справедливо и для предыдущих версий, разве что будут незначительные отличия в названиях пунктов, но вы разберётесь, я верю ;)). И не нужно было, по большому счёту, никуда лезть искать. Наряду со сразу видимыми, если вызвать в Word’е окно «Поиск» (Ctrl+F) или «Поиск и замена» (Ctrl+H), поставить курсор в поле «Найти» и нажать кнопочку «Больше», а после «Специальный», спецсимволами, есть и ещё одна опция, о которой чуть ниже.
Сперва о стандартных масках поиска:

^? — любой знак
^# — любая цифра
^$ — любая буква
^p — Знак абзаца (¶) (если выбран параметр «Подстановочные знаки» следует заменить на ^13)
^t — знак табуляции (→) (если выбран параметр «Подстановочные знаки» следует заменить на ^9)
^+ — длинное тире ( — )
^= — короткое тире ( – )
^^ — знак крышки (^)
^l — принудительный разрыв строки (символ ↵ или 0xBF), такой бывает если нажать Shift+Enter (если выбран параметр «Подстановочные знаки» следует заменить на ^11)
^n — разрыв колонки (если выбран параметр «Подстановочные знаки» следует заменить на ^14)
^12 — Разрыв раздела или страницы (при замене добавляет разрыв страницы)
^m — Принудительный разрыв страницы (применяется также для поиска и замены разрывов разделов, если выбран параметр «Подстановочные знаки»)
^s — неразрывный пробел (º) (Ctrl+Shift+Space)
^~ — неразрывный дефис (≈)
^- — мягкий перенос (¬)
Теперь перейдём к полю «Заменить на», тут появляются две специфические опции:
^& — искомый текст
^c — содержимое буфера обмена
Как это можно использовать? Например так — пусть нужно найти текст «Achtung!» и «Achtung.»? покрасить его в зелёный и заменить на «Achtung, minen!» (именно красного цвета). Причём в тексте у вас есть и просто слово «achtung» с маленькой буквы, которое менять не нужно. Решение:
Написать красным «minen!» и вырезать в буфер обмена
Найти (отметив галочку «Учитывать регистр»): Achtung
Заменить на (переставить курсор на это поле и нажать кнопку «Формат», затем выбрать «Шрифт» и там зелёный):
Теперь Найти: Achtung^?
Заменить на: Achtung, ^c

С этим всё действительно просто и понятно. А если нужно в огромном списке литературы вида
Reynolds J. V., Murchan P., Leonard N. et al. High-dose interlenkin-2 promotes bacterial translocation from the gut // Brit. J. Cancer.-1995. -Vol. 72, N 3. — P. 634-636.
привести всё к нормальному виду
ReynoldsºJ.V., MurchanºP., LeonardºN. etºal. High-dose interlenkin-2 promotes bacterial translocation from the gut // Brit. J. Cancer.º— 1995.º— V.72(3).º— P.º634636.
Как быть? Ручками править в каждой строчке всё это будет очень долго и утомительно. Но это тоже можно сделать поиском и заменой.
Если отметить в окне поиска и замены галочку «Подстановочные знаки», то содержимое кнопки «Специальный» для поля «Найти» примет несколько иной вид:

? — любой знак
[ — ] — знак в диапазоне
< — в начале слова
> — в конце слова
() — диапазон
[!] — не
{; } — число вхождений
@ — предыдущий 1 или более
* — любое число знаков
А для поля «Заменить на» появится дополнительный пункт
n — искомое выражение
Как этим пользоваться? Просто. Начну почти по порядку.
? и * — по сути одно и то же, но выражение ??са будет для поиска значить «[пробел]оса», «коса», «лиса» и ещё кучу всего, содержащего два символа впереди «са». А выражение *са выделит вам весь текст от положения курсора в тексте до первого попавшегося «са», в том числе и «[курсор]По полю бежало животное с номером 25, это была лиса».
Близок по смыслу к предыдущим и символ @. Тут фантазии на пример у меня не хватило, заимствую у мелкомягких: lo@t поможет найти «lot» или «loot», ful@ поможет найти «ful» или «full» и т.д.  :)
Почти из той же оперы символы < и >: <ок поможет найти все «около», а ок> — всевозможный «шок».
Выражение [A-Z] поможет найти любую букву английского алфавита в верхнем регистре, а [A-я] — любую букву и русского и английского. Неразрывно с этим используется и выражение {; }. Выглядит это так: допустим, нужно найти все слова, начинающиеся с заглавной буквы и длиной от 4 до 5 букв и заканчивающиеся вопросительным знаком. Решением будет искать их по следующей маске:
[A-Я]{1;1}[a-я]{3;4}?
то есть найти одну заглавную букву и ещё 3 или 4 следующих за ней строчных плюс вопросительный знак. Тут есть одна маленькая тонкость — так как символ «?» используется как подстановочный, то, чтобы поиск его воспринял за знак вопроса, а не любой символ перед ним нужно поставить «». Если нужно найти сам символ «» в тексте, то это будет выглядеть как \, ну и т.д.
При помощи [!] можно найти например всё кроме заглавных букв: [!A-Я].
Теперь о самом наверное интересном операторе поиска — (). При его помощи можно находить несколько разных выражений и группировать их при помощи оператора n. Простой пример: пусть вам нужно по всему тексту заменить «Фамилия И О» на «И.О.ºФамилия». Решение:
Найти: ([A-Я]{1;1}[a-я]{2;11}) ([A-Я]{1;1}) ([A-Я]{1;1})
Заменить на: 2.3.^s1
То есть каждое выражение в скобках в поле «Найти» соответствует по порядку оператору n в поле «Заменить на».
Теперь с заданной выше задачей я думаю вы справитесь и сами ;)

P.S. Я желаю долгого здравия и личного счастья всем разработчикам «Визуального редактора» постов в ЖЖ. Пришлось копировать весь сгенерированный код в обычный блокнот и править всё ручками… Страницы, сгенерированные MS Word выглядят лучше чем ЭТО. Какое уж тут соблюдение стандартов HTML…

My match pattern has 4 parts :

    <1st part><2nd part><3rd part><4th part>

    Here,
     <1st part> = Fixed string "Fedora"
     <2nd part> = A 2 digit number "[0-9][0-9]"
     <3rd part> = Followed by a ":" symbol.
     <4th part> = one or more strings till the end of the current line. 

NOTE : <4th part> ends with the end of current line and contains only alphabets.

I’ve reached till here :

Fedora[0-9][0-9]?[a-z]*[A-Z]*^l>

But the last part — searching the end of the line — is not yielding the expected result. Note that I’m trying to get the end of the line when Word breaks the line automatically.

Where am I going wrong ?

Cindy Meister's user avatar

asked Sep 28, 2018 at 10:50

Abhishek Singh's user avatar

2

It seems to me you need:

Find = Fedora[0-9]{2}:*^l

or:

Find = Fedora[0-9]{2}:*[^l^13]

answered Sep 28, 2018 at 11:46

macropod's user avatar

macropodmacropod

12.6k2 gold badges9 silver badges21 bronze badges

2

There is no way to use Word’s built-in Find to locate the end of a line that’s been generated by Word’s automatic layout. The only kind of «end-of-line» that can be searched is the manual line break inserted by pressing Shift+Enter. The manual line break corresponds to the special Find character ^l.

If you need to Find and extend to the end of a line then you need to use a macro (VBA). The following sample code does what you need. Please note that with the code as it stands only the last occurrence of the search term will be selected when the macro finishes. You need to build the final result into it that you’re looking for.

Or, simply remove the Do While and Loop lines and the macro will find the first term.

Sub FindThenToEndOfLine()
    Dim r As Range, rDoc As Word.Range
    Dim bFound As Boolean

    bFound = True
    Set r = ActiveDocument.content
    Set rDoc = r.Duplicate

    r.Find.ClearFormatting
    Do While bFound
        With r.Find
            .text = "Fedora[0-9][0-9]:[a-z]*[A-Z]*" 
            .Forward = True
            .wrap = wdFindStop
            .Format = False
            .MatchCase = False
            .MatchWholeWord = False
            .MatchWildcards = True
            .MatchSoundsLike = False
            .MatchAllWordForms = False
            bFound = .Execute
        End With

        If bFound Then
            r.Select
            Selection.EndKey Unit:=wdLine, Extend:=True
        End If
    Loop
End Sub

answered Oct 1, 2018 at 10:06

Cindy Meister's user avatar

Cindy MeisterCindy Meister

24.9k21 gold badges35 silver badges43 bronze badges

Понравилась статья? Поделить с друзьями:
  • Word подсказки для ввода
  • Word подсказки в таблице
  • Word подсказка при наведении
  • Word подпись под текстом в
  • Word подписка на год