Я хотел бы"Найти и заменить"целые строки в Microsoft Office Word 2010которые соответствуют некоторым критериям.
Я пытался найти решение в официальной документации, но не нашел ответа:
- Найти и заменить текст с помощью регулярных выражений (расширенный)
- Увеличьте возможности поиска в Word с помощью регулярных выражений
(кстати, вот еще два полезных неофициальных документа:Найти и заменить с использованием подстановочных знаков;Регулярные выражения в Microsoft Word)
Пример
Например: я хотел бы найти все строки, которые имеют"Заголовок 2"стиль и заменить их так, чтобы они располагались между ##
символами: так что это исходный текст: This is my title
, и я хотел бы найти его и заменить следующим образом: ## This is my title ##
(таким образом я мог бы преобразовать заголовок текста в совместимый с Wiki заголовок 2 без каких-либо внешних плагинов (ПРАВКА: извините, тем временем я понял, что совместимый с MediaWiki стиль заголовка 2 использует ==
вместо ##
, но это не меняет сути) ).
Итак, после Ctrl+ H, проверка "Используйте подстановочные знаки", выбрав Формат > Стиль > Заголовок 2, я попробовал это, и это НЕ сработало: (*^13>)
или (<*^13>)
, где ^13
соответствует«Разрыв абзаца/возврат каретки»(видетьэтот) - это сделало поиск Word безумным, и GUI завис на несколько минут (!). В конце концов, он ничего не нашел (но у меня ЕСТЬ тексты со стилем Заголовок 2).
Хорошо, это неподходящий шаблон, так каков же правильный способ поиска и замены целых строк в Word?
решение1
Возможно, я что-то упускаю, но по какой-то причине мне не удалось сделать это за одну операцию поиска/замены:
Шаги
До:
Заменить пустую строку (форматЗаголовок 2) с "## ^& ##" (без форматирования):
После первой замены:
Заменить "^p ##" (без форматирования) на " ##^p" (без форматирования)(обратите внимание, что в начале строки замены есть пробел!):
После второй замены:
решение2
Я знаю, что вопрос старый, но не найдя никаких практических решений здесь или в других местах, я решил опубликовать ответ для потомков.
Возможно, Word внес улучшения в функцию, которая позволила мне выполнить одну операцию замены, которая выполнила работу, описанную автором вопроса:
Найти то, что:(*{1,})
---Стиль:Заголовок 1
Заменить:\1
---Стиль:Нормальный
Обратите внимание, что использование (*) вместо (*{1,}) устранило первый символ в строке. По-видимому, в (*) есть какое-то особое значение, которое я не склонен исследовать.