Applies ToMicrosoft 365 专属 Excel Microsoft 365 Mac 版专属 Excel Excel 网页版

使用 REGEXREPLACE 函数,可以根据提供的正则表达式 (“regex”) 将字符串中的文本替换为另一个字符串。

语法

REGEXREPLACE 函数替换所提供的文本中与替换模式匹配的字符串。

REGEXEXTRACT 函数的语法为:

REGEXREPLACE (text、pattern、replacement、[occurrence]、[case_sensitivity])

参数

说明

text

(必需)

文本或对单元格的引用,其中包含要替换的字符串的文本。

模式

(必需)

描述要替换的文本模式的正则表达式 (“regex”) 。

更换

(必需)

要替换 模式实例的文本。

发生

指定要替换模式的哪个实例。 默认情况下,匹配项为 0,这将替换所有实例。 负数替换该实例,从末尾进行搜索。

case_sensitivity

确定匹配项是否区分大小写。 默认情况下,匹配项区分大小写。 输入以下内容之一:

0: 区分大小写

1: 不区分大小写

注意: 编写正则表达式模式时,可以使用与各种字符匹配的名为“token”的符号。 下面是一些简单的令牌供参考:

  • “[0-9]”:任何数字

  • “[a-z]”:到 z 范围内的字符

  • “.”:任意字符

  • “a”:“a”字符

  • “a*”:零个或多个“a”

  • “a+”:一个或多个“a”

  • 此函数的所有正则表达式以及 REGEXTESTREGEXEXTRACT都使用正则表达式的 PCRE2“风格”。

  • REGEXEXTRACT 始终返回文本值。 可以使用 VALUE 函数将这些结果转换回数字。

示例

复制示例数据,然后将其粘贴进新的 Excel 工作表的 A1 单元格中。 如果需要,可调整列宽以查看所有数据。

使用 REGEXREPLACE 通过模式将前 3 位数字替换为 ***来匿名电话号码

"[0-9]+-"

数据

索尼娅里斯 (378) 555-4195 天使布朗 (878) 555-8622 布莱克·马丁 (437) 555-8987 威廉·柯比 (619) 555-4212 艾弗里·史密斯 (579) 555-5658 帕克琼斯 (346) 555-0925 利亚姆小 (405) 555-0887 Hollie Rees (666) 555-1872

公式

=REGEXREPLACE (A2,“[0-9]+-”,“***-”)

下图显示了结果。 你需要在单元格 A4 上换行才能在结果中显示换行符。

使用 REGEXREPLACE 将混合文本中每个电话号码的前三位数字替换为 *,使用模式“[0-9]+-”

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

需要更多帮助?

需要更多选项?

了解订阅权益、浏览培训课程、了解如何保护设备等。

社区可帮助你提出和回答问题、提供反馈,并听取经验丰富专家的意见。