Word найти / заменить: добавить пробел в почтовый индекс с подстановочными знаками
Используя диалоговое окно "Найти и заменить" в Microsoft Word 2003, я хочу найти в списке адресов почтовые индексы (канадские), в которых нет пробела, например:
M2N3X6
L4C2A9
K5G1S7
и поместите пробел в середине:
M2N 3X6
L4C 2A9
K5G 1S7
Это должно быть просто, но у меня есть небольшая проблема с частью "заменить на": я понял, что в поле "Найти" я ввожу [A-Z][0-9][A-Z][0-9][A-Z][0-9]
, но в поле Заменить, как мне добавить пространство в середине, сохраняя символы, которые там? Я думал, что это будет что-то вроде \1\2\3 \4\5\6
, но это не работает
Любая помощь приветствуется.
3 ответа
\1 и т. Д. Заменяют выражения, и для того, чтобы указать, что что-то является выражением, вы заключаете его в (). Так вам нужно
([A-Z])([0-9])([A-Z])([0-9])([A-Z])([0-9])
затем
\1\2\3 \4\5\6
должно сработать. Я думаю, что есть ограничение на количество выражений, которые вы можете иметь (возможно, 9)
Я не могу найти какой-либо способ (в диалоговом окне "Найти и заменить" в Microsoft Word) сделать полную замену под-регулярному выражению, как вы можете в таких программах, как sed
, Но я нашел многошаговое решение вашей проблемы. Во-первых, определите строку, которая не появляется в ваших данных и не содержит каких-либо символов, которые являются специальными в Word "Найти и заменить" (например, "@
' или же '#
"). (В качестве альтернативы используйте их, но избегайте их.) Это может быть один символ, например '|
', пока это не появляется в ваших данных. Я предполагаю, что вы выбрали "|
". Сейчас,
- Сделать поиск для
[A-Z][0-9][A-Z][0-9][A-Z][0-9]
и заменить на^&|
, Это будет помечать каждый несоответствующий почтовый индекс с последующим "|
". - Ищи
[0-9][A-Z][0-9]|
и заменить на^&
(с ведущим пробелом). Это вставит место, где вы хотите это. - Затем найдите все вхождения
|
и заменить ничем.
Вы можете сделать это без использования подстановочного режима:
^$^#^$^#^$^#
→^&|
,^#^$^#|
→^&
(или даже^?^?^?|
→^&
).|
→ ничего.
Обратите внимание, что ^$
эквивалентно [A-Za-z]
Так что, если ваша ситуация чувствительна к регистру, я думаю, вам нужно использовать "подстановочные знаки".
Очень простой способ: используйте функцию "Text to Columns" в Excel, а затем используйте формулу CONCATENATE для рекомбинации с пробелом в середине. Формула будет = КОНКАТЕНАТ (А1," ",B1)