单词查找/替换:使用通配符在邮政编码中添加空格

单词查找/替换:使用通配符在邮政编码中添加空格

使用 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,但那行不通

任何帮助均感激不尽。

答案1

\1 等替换表达式,为了指定某个东西是表达式,你需要将其括在 () 中。因此你需要

([A-Z])([0-9])([A-Z])([0-9])([A-Z])([0-9])

然后

\1\2\3 \4\5\6

应该可以。我认为表达式的数量是有限制的(也许 9 个)

答案2

我找不到任何方法(在 Microsoft Word 的“查找和替换”对话框中)来执行完整的子正则表达式替换,就像在 之类的程序中一样sed。但我确实找到了一个多步骤的解决方案来解决您的问题。首先,找到一个未出现在您的数据中且不包含 Word 的“查找和替换”中任何特殊字符的字符串(例如,' @' 或 ' #')。(或者,使用它们但对其进行转义。)它可以是单个字符,如 ' |',只要它未出现在您的数据中即可。我假设您选择了“ |”。现在,

  1. 搜索[A-Z][0-9][A-Z][0-9][A-Z][0-9]并替换为^&|。这将用尾随的“ ”标记每个不合格的邮政编码|
  2. 搜索[0-9][A-Z][0-9]|并替换为 ^&(前导空格)。这会将空格插入到您想要的位置。
  3. 然后搜索所有出现的|并替换为空。

您可以在不使用通配符模式的情况下执行此操作:

  1. ^$^#^$^#^$^#^&|
  2. ^#^$^#| ^&                (或者甚至是^?^?^?| ^&)。
  3. |→ 没有。

请注意,^$相当于[A-Za-z],所以如果您的情况区分大小写,我猜您需要使用“通配符”。

答案3

超级简单的方法:使用 Excel 中的“文本分列”功能,然后使用 CONCATENATE 公式重新组合,中间留一个空格。公式为 =CONCATENATE(A1," ",B1)

相关内容