
У меня есть документ, в котором повсюду есть (TL by user). Я бы хотел заменить это ничем (тем самым удалив его везде), но пользователь может быть другим или может быть много пользователей (TL by user1) (TL by user3, superuser1). До сих пор я пробовал найти (TL by .*) и заменить ничем, но это избавляет от всего, кроме пользователя и окружающих скобок по какой-то причине, поэтому у меня остается (user1) или (user3,superuser1). Как мне заставить регулярное выражение сопоставить и заменить все совпадение (TL by user), включая parans и все внутри?
Это в Word 2010, я добавлю больше информации, когда приду домой сегодня позже.
решение1
В Office нет функции поиска «RegEx», но вы можете использовать опцию «Использовать подстановочные знаки».
Так как это не настоящий RegEx, то он .
ничем не поможет. Вам просто нужен *
подстановочный знак.
Следующий трюк заключается в том, что при выполнении поиска по подстановочным знакам в Word скобки ()
используются для группировки (как в RegEx), поэтому, если вы хотите найти буквальные скобки, вам нужно экранировать их с помощью обратной косой черты ( \
).
Собрав все это вместе, я получаю команду Find, которая работает так, как вам нужно (на основании моего тестирования):
\(TL by *\)
Настройки диалогового окна «Найти и заменить» я использовал:
решение2
В вашем вопросе отсутствует информация о версии и платформе, но я нашелЭта статьяна сайте MS. Короче говоря,
Введите список имен, как показано ниже.
Chuck Norris Bruce Lee James Bond Bond
На вкладке «Главная» в разделеРедактированиегруппа, нажмитеЗаменятьчтобы открытьНайти и заменитьдиалоговое окно.
- Если вы не видитеИспользуйте подстановочные знакифлажок, щелкнитеБолее, а затем установите флажок. Если флажок не установлен, Word будет рассматривать подстановочные знаки как текст.
Введите следующие символы вНайти то, чтоbox. Убедитесь, что вы включили пробел между двумя скобками:
(<*>) (<*>)
вЗаменитьполе, введите следующие символы. Убедитесь, что вы включили пробел между запятой и второй косой чертой:
\2, \1
Выберите таблицу, а затем нажмите «Заменить все». Word переставляет имена и разделяет их запятой, вот так
Norris, Chuck Lee, Bruce Bond, James Bond
ПРЕДОСТЕРЕЖЕНИЕ, это не сработало для меня при использовании Office 2011 на OSX 10.10.2. Однако на странице есть дополнительная информация о дополнительных функциях.
решение3
Видетьhttps://support.office.com/en-us/article/Найти-и-заменить-текст-и-другие-данные-в-документе-Word-c6728c16-469e-43cd-afe4-7708c6c779b7для подробностей
Microsoft заявляет, что его собственный язык подстановочных знаков "регулярное выражение" и доступен только в диалоге Расширенный поиск или замена. И его язык немного отличается от других регулярных выражений.