使用 REGEXREPLACE 替换模式
将单元格中匹配的文本替换为新值
使用 REGEXREPLACE 替换模式 是 CoddyKit 上的免费 Excel Formulas Academy 课时。 这是第 3 节课,共 4 节。 你可以在下方免费阅读本课时的完整内容 — 然后在浏览器中使用内置代码编辑器和全天候 AI 导师进行实践。 这是 Excel Formulas Academy 学习路径的一部分,你的进度在网页和 CoddyKit 应用中同步。 Excel Formulas Academy 课程共包含 4 节课。
按模式重写文本
到目前为止,您已经测试过模式并提取出其中的部分。现在,您将开始重写文本:去除无用字符、重新设置电话号码格式,或合并多余空格。
REGEXREPLACE 会找出文本中符合某个模式的每一部分,并将其替换为您指定的替换文本。
这个 Google 表格函数是强大的文本清理工具,因为它可以一次性处理整列混乱的数据。
REGEXREPLACE 语法
REGEXREPLACE(text, pattern, replacement) 接受三个参数:源文本、要查找的模式,以及替换字符串。
与 REGEXEXTRACT 不同,它会替换找到的所有匹配结果,而不只是第一个。
下面的公式通过将每个数字替换为空字符串,移除 A2 中的所有数字。Room 204 会变成 Room 。
=REGEXREPLACE(A2, "\d", "")替换为空以删除内容
一种常见技巧是将字符替换为空字符串 "",从而删除这些字符。
下面的公式会去除所有非数字内容,只留下数字。(555) 123-4567 会变成 5551234567。[^\d] 字符类表示任何非数字字符,+ 则会一次匹配一串连续的此类字符。
=REGEXREPLACE(A2, "[^\d]+", "")示例:合并多余空格
导入的文本通常包含两个或三个连续空格。您可以将任意一串空格压缩为一个空格。
下面的公式会匹配一个或多个空白字符,并将每一串空白替换为一个空格。之后再结合 TRIM,还可以清理两端的空格。
=REGEXREPLACE(A2, "\s+", " ")反向引用重用匹配结果
替换文本可以使用 $1、$2 等引用捕获组。$1 表示第一个捕获组匹配到的内容。
这样您就可以重新排列或设置格式。下面的公式通过捕获两个姓名并交换它们的顺序,将 Smith, John 转换为 John Smith。
=REGEXREPLACE(A2, "(\w+), (\w+)", "$2 $1")示例:设置电话号码格式
假设 A2 中存放着类似 5551234567 的十位数字字符串,而您希望将其转换为 (555) 123-4567。
先捕获三位数字、三位数字和四位数字,然后在替换文本中重新组合并添加格式。每个组都通过其编号进行引用。
=REGEXREPLACE(A2, "(\d{3})(\d{3})(\d{4})", "($1) $2-$3")替换特定词语
您也可以替换字面词语。要统一缩写格式,只需匹配该词并将其替换掉。
下面的公式会将地址中的每个 St. 改为 Street。请记得将句点转义为 \.,这样它匹配的是实际句点,而不是任意字符。
=REGEXREPLACE(A2, "St\.", "Street")不区分大小写的替换
正则表达式默认区分大小写。若要匹配不论大小写的词语,请在字符类中列出不同形式,或构建多个选择分支。
下面的公式会将 color 或 Color 替换为 colour。[Cc] 会匹配首字母的任一大小写形式。
=REGEXREPLACE(A2, "[Cc]olor", "colour")示例:遮盖敏感数字
如果您想隐藏卡号中除最后四位以外的所有数字,可以将开头的数字替换为 X。
下面的公式会匹配最后四位之前的所有数字,并将每个数字替换为 X。对于 1234567890123456,结果为 XXXXXXXXXXXX3456。
=REGEXREPLACE(A2, "\d(?=\d{4})", "X")串联多个清理步骤
实际的清理工作通常需要多个步骤。您可以嵌套 REGEXREPLACE 调用,让内层结果作为外层调用的输入。
下面的公式会先移除所有非字母或非空格字符,然后将多个空格合并为一个。从内向外阅读公式,就能看出操作顺序。
=REGEXREPLACE(REGEXREPLACE(A2, "[^A-Za-z ]", ""), "\s+", " ")应用于整列
与其他正则表达式函数一样,REGEXREPLACE 旨在一次性清理整列数据。您只需在原始数据旁写一次公式,然后向下填充。
假设 A 列中的产品名称末尾带有类似 Chair (SKU-4821) 的代码。下面的公式会从每一行中移除括号内的代码,只留下 Chair 。在公式外再添加 TRIM,即可去掉多余的空格。
=TRIM(REGEXREPLACE(A2, "\(.*\)", ""))快速检查
测试您对模式替换的掌握情况。
回顾:一次性转换文本
您已经学会,REGEXREPLACE(text, pattern, replacement) 会在 Google 表格中重写所有匹配结果。要点如下:
- 替换为
""可以删除不需要的字符 [^\d]和\s+是清理文本的常用工具- 捕获组可以在替换文本中以
$1、$2的形式重复使用 - 请转义
\.之类的字面特殊字符 - 嵌套调用可以串联多个清理步骤
接下来,您将结合 SPLIT 和 CLEAN 以及正则表达式,把导入的数据拆分开并完成整理。
常见问题解答
「使用 REGEXREPLACE 替换模式」课时是免费的吗?
是的 — 「使用 REGEXREPLACE 替换模式」的完整文本可在网页上免费阅读。要进行交互式练习(内置代码编辑器和全天候 AI 导师)并解锁 Excel Formulas Academy 课程的其余内容,请升级到 CoddyKit PRO。 Excel Formulas Academy 课程共包含 4 节课。
「使用 REGEXREPLACE 替换模式」这节课中我会学到什么?
将单元格中匹配的文本替换为新值 你通过在浏览器中直接运行的动手代码来练习 Excel Formulas Academy,全天候 AI 导师会在你学习这节课的过程中回答你的问题。
学习 Excel Formulas Academy 需要有经验吗?
无需任何先前经验。CoddyKit 上的 Excel Formulas Academy 课程适合初学者到高级学习者,你可以从这里开始或从头开始,按照自己的节奏学习。 这是第 3 节课,共 4 节。
「使用 REGEXREPLACE 替换模式」课时需要多长时间?
大多数 CoddyKit 课程大约需要 5–10 分钟。每节课都很精短且互动,所以你能稳步进步,并在网页和应用中从离开的地方继续。
我能在这节 Excel Formulas Academy 课中编写并运行代码吗?
能。每节 Excel Formulas Academy 课都包含内置代码编辑器,你可以在浏览器中直接编写并运行真实代码,并获得即时 AI 反馈 — 无需本地设置。
此课程中的所有课时
- 使用 REGEXMATCH 测试模式
- 使用 REGEXEXTRACT 提取模式
- 使用 REGEXREPLACE 替换模式
- 拆分并清理杂乱数据