單字尋找/替換:使用通配符為郵遞區號新增空格

單字尋找/替換:使用通配符為郵遞區號新增空格

使用 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)

相關內容