REGEXREPLACE 函數

套用到
Microsoft 365 Excel Mac 版 Microsoft 365 Excel

REGEXREPLACE 函數可讓您根據提供的規則運算式 (“regex”) ,將字串中的文字取代為另一個字串。

語法

REGEXREPLACE 函數會取代所提供文字中符合模式的字串。

REGEXEXTRACT 函數的語法為:

REGEXREPLACE (文字、模式、取代、[出現]、[case_sensitivity])

引數 描述
text
(必要)
包含您要取代其中字串之文字的文字或儲存格參照。
圖樣
(必要)
規則運算式 (“regex”) 描述您要取代的文字模式。
取代
(必要)
您要取代 模式實例的文字。
發生 指定您要取代的模式執行個體。 預設情況下,發生率為 0,取代所有執行個體。 負數會取代該執行個體,從結尾開始搜尋。
case_sensitivity 判斷相符是否區分大小寫。 根據預設,相符會區分大小寫。 請輸入下列其中一項:
0: 區分大小寫
1: 不區分大小寫

注意

在編寫正則表達式模式時,可以使用稱為「權杖」的符號來與各種字元相匹配。 以下是一些簡單的 Token 供參考:

  • “[0-9]”:任何數字
  • “[a-z]”:A 到 z 範圍內的字元
  • “.”:任何字元
  • “a”:“a” 字元
  • “a*”:零個或多個 “a”
  • “A+”:一或多個 “A”
  • 此函數的所有規則運算式以及 REGEXTESTREGEXEXTRACT 都使用 PCRE2 規則運算式的「風格」。
  • REGEXEXTRACT 一律會傳回文字值。 您可以使用 VALUE 函數將這些結果轉換回數值。

範例

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

範例 1

使用 REGEXREPLACE 將電話號碼的前 3 個數字取代為 ***,並使用 pattern

"[0-9]+-"

資料
索尼婭·里斯 (378) 555-4195
Angel Brown (878) 555-8622
布萊克·馬丁 (437) 555-8987
威廉·柯比 (619) 555-4212
Avery Smith (579) 555-5658
帕克·瓊斯 (346) 555-0925
利亞姆·斯小 (405) 555-0887
霍莉·里斯 (666) 555-1872
公式
=REGEXREPLACE (A2,“[0-9]+-”,“***-”)

下圖顯示結果。 您必須在儲存格 A4 上自動換行,以顯示結果中的分行符號。

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

範例 2

將 REGEXREPLACE 與捕獲組一起使用,以分隔和重新排序給定的姓名和姓氏,使用模式:“ ([A-Z][a-z]+) ([A-Z][a-z]+) ”;和取代:「$2, $1」。

注意: 擷取群組以帶有括號 「 () 」 的 模式 定義,並且可以 替代 為 “$n”。 在此範例中,$1 和 $2 分別參照第一個和第二個擷取群組。

資料
SoniaBrown
公式
=REGEXREPLACE (A2,“ ([A-Z][a-z]+) ([A-Z][a-z]+) ”,“$2, $1”)

下圖顯示結果。

使用 REGEXREPLACE 搭配擷取群組,以分隔和重新排序指定名稱和姓氏,使用模式: ([A-Z][a-z]+)  ([A-Z][a-z]+) 和取代:$2、$1