REGEXREPLACE 函式

套用到
Microsoft 365 Excel Mac 版 Microsoft 365 Excel

REGEXREPLACE 函式允許你根據提供的正則表達式 (「regex」) ,將字串中的文字替換成另一個字串。

語法

REGEXREPLACE 函式會替換所提供文字中與模式相符的字串。

REGEXEXTRACT 函式的語法如下:

REGEXREPLACE (文字、模式、替換、[出現]、[case_sensitivity])

引數 描述
text
(必要)
你想替換字串的文字或指向包含文字的儲存格的參考。
圖樣
(必要)
正則表達式 (「正則表達式」) 描述你想替換的文字模式。
替代
(必要)
你想用來取代 模式實例的文字。
產地 指定你想替換哪個圖案實例。 預設情況下,出現次數為 0,會取代所有實例。 一個負數取代該實例,從末端搜尋。
case_sensitivity 判斷匹配是否區分大小寫。 預設情況下,匹配是區分大小寫的。 請輸入下列其中一項:
0: 大小寫區分
1: 大小寫不區分

注意

在撰寫正則表達式模式時,可以使用稱為「tokens」的符號,這些符號可以與多種字元相匹配。 以下是一些簡單的標記供參考:

  • 「[0-9]」:任意數字
  • 「[a-z]」:位於 A 到 Z 範圍內的字元
  • 「.」:任何字元
  • 「A」:A字元
  • 「a*」:零個或多個「a」
  • 「A+」:一個或多個「A」
  • 所有此函數的正則表達式,以及 REGEXTESTREGEXEXTRACT ,都使用 PCRE2 的「正則表達式」風味。
  • REGEXEXTRACT 總是回傳文字值。 你可以用 VALUE 函數將這些結果轉換回數字。

範例

複製範例資料,並將其貼到新 Excel 工作表的儲存格 A1 中。 如有需要,您可以調整欄寬來查看所有資料。

範例 1

使用 REGEXREPLACE 將電話號碼前三位數字替換為 ***,並使用模式來匿名化

"[0-9]+-"

資料
索尼婭·里斯 (378) 555-4195
安吉爾·布朗 (878) 555-8622
布雷克·馬丁 (437) 555-8987
威廉·柯比 (619) 555-4212
艾弗里·史密斯 (579) 555-5658
帕克·瓊斯 (346) 555-0925
利亞姆·斯莫爾 (405) 555-0887
霍莉·里斯 (666) 555-1872
公式
=正則替代 (A2,“[0-9]+-”,“***-”)

以下圖示展示了結果。 你需要在 A4 儲存格上換行,這樣才能顯示結果中的換行。

使用 REGEXREPLACE 將混合文字中每個電話號碼的前三位數替換為 *,並使用模式 [0-9]+-

範例 2

使用 REGEXREPLACE 與擷取群組來分離並重新排序名字與姓氏,模式為:「 ([A-Z][a-z]+) ([A-Z][a-z]+) “;替換:「$2, $1」。

註: 捕獲群以 號「 () 」定義,並可 替換 為「$n」。 在這個例子中,$1和$2分別代表第一組和第二組吃子。

資料
索尼婭·布朗
公式
=REGEXREPLACE (A2,“ ([A-Z][a-z]+) ([A-Z][a-z]+) ”,“$2, $1”)

下圖顯示結果。

使用 REGEXREPLACE 與擷取群組分開並重新排序名氏與姓氏,模式為: ([A-Z][a-z]+)  ([A-Z][a-z]+) 與替換:$2,$1