Google Sheets中移除电话号码的无效正则表达式问题求助
解决Google Sheet中移除电话号码的正则表达式问题
原公式的问题
你原来的公式用/包裹正则表达式,但Google Sheets的REGEXREPLACE函数不需要这种分隔符,这是导致报错的核心原因。同时,原有正则的匹配逻辑也无法完全覆盖你列出的所有电话号码格式。
正确的公式
=REGEXREPLACE(A2, "\(?\d{3}\)?[ .-]?\d{3}[ .-]?\d{4}", " ")
正则表达式拆解说明
这个正则可以精准匹配你需要覆盖的所有电话号码格式,各部分作用如下:
\(?:匹配可选的左括号((?表示该字符可出现0次或1次)\d{3}:匹配3位数字的区号部分\)?:匹配可选的右括号)[ .-]?:匹配可选的分隔符,支持空格、点或短横线任意一种\d{3}:匹配中间3位数字[ .-]?:再次匹配可选的分隔符\d{4}:匹配最后4位数字
它能完美适配以下格式:
- (123) 456 7899
- (123).456.7899
- (123)-456-7899
- 123-456-7899
- 123 456 7899
- 1234567899
示例验证
针对你的输入文本:
You are submitting your information to Example, which powers ... suite 000 San Diego, CA 00000(123) 000-0000example@gmail.com.
使用公式后会输出:
You are submitting your information to Example, which powers ... suite 000 San Diego, CA 00000 example@gmail.com.
完全符合你的期望输出。
内容的提问来源于stack exchange,提问作者Ginko
相关产品推荐
相关产品推荐

