P нельзя использовать как специальный символ в поле найти
Перейти к содержимому

P нельзя использовать как специальный символ в поле найти

  • автор:

Примеры подстановочных знаков

Если вы хотите найти определенный элемент, но не помните его точное написание, используйте в строке запроса подстановочные знаки.

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

Дополнительные сведения о запросах см. в статье Знакомство с запросами.

Вот несколько примеров подстановочных знаков для создания запросов в приложении Access.

Соответствует любому количеству символов. Вы можете использовать звездочку (*) в любом месте строки символов.

По запросу чт* будут найдены слова «что», «чтение» и «чтиво», но не «почтение» или «почта».

Соответствует отдельной букве в определенной позиции.

По запросу ст?л будут найдены слова «стол», «стал» и «стул».

Соответствует символам в скобках.

По запросу ст[оу]л будут найдены слова «стол», «стул», но не «стал».

Исключает символы в скобках.

По запросу ст[!оу]л будут найдены слова «стал» и «стыл», но не «стол» или «стул».

По запросу Like «[!a]*» будут найдены все элементы, которые не начинаются с буквы «a».

Соответствует диапазону символов. Помните, что символы следует указывать в алфавитном порядке (от А до Я, а не от Я до А).

По запросу с[а-ы]н будут найдены слова «сан», «сон» и «сын».

Соответствует любому цифровому символу.

По запросу 1#3 будут найдены числа 103, 113 и 123.

Примеры использования подстановочных знаков для поиска соответствий шаблону

Подстановочные знаки используются в шаблоне следующим образом.

  1. Откройте запрос в конструкторе.
  2. В строке Условие отбора необходимого вам поля введите перед условием отбора оператор Like.
  3. Замените один или несколько символов в условии подстановочным знаком. Например, запрос Like R?308021 возвращает результаты RA308021, RB308021 и т. д.
  4. На вкладке Конструктор нажмите кнопку Выполнить.

Рассмотрим несколько примеров шаблонов с подстановочными знаками, которые вы можете использовать в выражениях.

С имволы

Соответствия

? или _ (подчеркивание)

Ноль или больше символов

[список_символов]

Любой символ, входящий в список_символов

[!список_символов]

Любой символ, не входящий в список_символов

Любой буквенно-цифровой символ

Любая прописная буква от А до Я.

Примечание: Диапазон символов необходимо указывать в алфавитном порядке. Например, [Я-А] — это неправильный шаблон.

Чтобы найти соответствия таким специальным символам, как вопросительный знак (?), знак решетки (#) и звездочка (*), заключите их в круглые скобки.

Функция CHARLIST возвращает совпадения для одного или более символов и позволяет использовать практически любые символы из набор знаков ANSI, включая цифры. Функция CHARLIST заключается в квадратные скобки ([ ]) и может использоваться совместно с подстановочными знаками для более точного поиска соответствий.

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

Чтобы найти соответствие символу дефиса (-), разместите его в начале или в конце функции CHARLIST (после восклицательного знака, если он используется). В любом другом месте дефис указывает на диапазон символов ANSI.

P нельзя использовать как специальный символ в поле найти

БлогNot. Удаляем пустые абзацы из документа Word

Удаляем пустые абзацы из документа Word

Ужос, что за уродство Word? Понадобилось в большом объёме текста удалить лишние пустые абзацы, вставленные при копировании с Web-страницы после каждой строки. Но на попытку указать ^P (символ «Абзац») в поле «Найти» стандартного окна поиска и замены, Word XP/2003 выдал «^P нельзя использовать как специальный символ в поле Найти». Пришлось быстренько подключить макрос.

Чтобы его «повесить» у себя, зайдите в меню Word Сервис, Макрос, Редактор Visual Basic, вставьте в модуль NewMacros текст процедуры, закройте Visual Basic, в верхнем меню Word зайдите Сервис, Настройка, в категории Макросы найдите макрос delVoidParagraphs и перетащите его иконку из этого окна на нужную панель инструментов Word. Потом правая кнопка на добавленном значке, выбрать Основной стиль, затем так же правой кнопкой можно выбрать или нарисовать значок. Процедура описана для офиса XP/2003, в 2007/10 как-то так же, но неудобней, как и всё в нём.

У меня работает отлично, вот текст макроса:

Sub delVoidParagraphs() 'Удаление пустых абзацев в выделенном фрагменте With Selection.Find .ClearFormatting .Replacement.ClearFormatting .Text = "^0013" .Replacement.Text = "^p" .MatchWildcards = True .Format = False .Forward = True If Selection.Type = wdSelectionIP Then .Wrap = wdFindContinue Else .Wrap = wdFindStop End If .Execute Replace:=wdReplaceAll End With Selection.Collapse direction:=wdCollapseStart End Sub

Избавиться от лишних символов разрыва строки, которые тоже часто появляются при копировании текста из интернета в Word, ещё проще: окно «Найти и заменить», в поле «Найти» указываем специальный символ ^l (крышечка и буква l — «эль» латинская малая), поле «Заменить на» оставляем пустым и нажимаем кнопку «Заменить всё».

31.01.2011, 16:09 [21492 просмотра]

P нельзя использовать как специальный символ в поле найти

Нужно динамически формировать в шаблоне Word отдельные пункты трудового договора.
Я их сразу все (3 штуки) вставил и пытаюсь удалять лишние:

Замена = MSWord.ActiveDocument.Range().Find;
Замена.Execute(«3.2. Работодатель обязан:», Ложь, Истина, Ложь, , , Истина, , Ложь, «»);

Но символы перевода строки не удаляются, если к тексту добавляю » + Символы.ПС», то он не находит этот текст.

Еще вариант: создал макрос на удаление нужных строк, но не знаю как поставить перед выполнением макроса курсор в нужное место.

Замена.Execute(«3.2. Работодатель обязан:^|», Ложь, Истина, Ложь, , , Истина, , Ложь, «»);

Ошибка при вызове метода контекста (Execute): Произошла исключительная ситуация (Microsoft Word): (здесь значок типа нотки)

Если прямо в ворде пишу в строке поиска, то выдает: «Нельзя использовать как специальный символ в поле «Найти».

Я так и не понял где в ссылке (1) использовалась эта конструкция.

(0) А зачем так сложно? Сделай в ворде один параметр и заполняй его в зависимости от условий.

(3) Там форматирование текста, мне кажется еще больший геморрой.
Пробую сейчас через закладки устанавливать курсор и макросом удалять.

P нельзя использовать как специальный символ в поле найти

Блог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 вхождений предыдущего символа или выражения.
Выражением является все то, что заключено в круглые скобки. Выражение может состоять как из конкретных символов, так и содержать спец. символы.
10

«1000», но не «100», «10000»
10(20)

«102020», но не «1020», «10202020»
n и более вхождений предыдущего символа или выражения 10

«1000», «10000», «100000», но не «100»
От n до m включительно вхождений предыдущего символа или выражения 10

«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. В операторах и точка с запятой означает List separator (Разделитель элементов списка) из настроек операционной системы, зависящих от локали (например, в США — запятая, в России — точка с запятой).

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

3. Примеры для поиска
Строка поиска Что ищет
[!^0013]^0013[!^0013] Конец абзаца в окружении двух других символов
^0032

Два и более пробелов
[. ;\!\?] Знак препинания
Вещественное число, набранное через запятую
Русское слово (зависит от кодировки)
4. Примеры для замены

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

Строка поиска Строка замены Что заменяет
(^0013)

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

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

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *