Google Sheets中REGEXREPLACE公式移除引号与破折号的问题
解决Google Sheets中批量替换引号和破折号的问题
直接给两种可行的实现方式,任选其一即可:
方法一:用REGEXREPLACE一次性完成多字符替换
使用正则表达式的字符类,一次性匹配所有需要替换的字符(双引号、单引号、普通破折号、长破折号),替换为空格。公式要加上ARRAYFORMULA确保对整个区域生效:
=ARRAYFORMULA(REGEXREPLACE(C3:C40001, "[\"""'—-]", " "))
- 正则部分
["""'—-]里的"""是Google Sheets中对双引号的转义写法(公式字符串里的双引号需要用两个双引号表示); - 如果不需要处理长破折号
—,可以把它从正则里去掉,改成["""'-]。
方法二:嵌套SUBSTITUTE逐个替换字符
如果觉得正则复杂,也可以用多层SUBSTITUTE分别替换不同字符,同样需要ARRAYFORMULA支持区域批量处理:
=ARRAYFORMULA(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(C3:C40001, """", " "), "'", " "), "-", " "))
- 第一个
SUBSTITUTE替换双引号为空格,第二个替换单引号,第三个替换普通破折号; - 若要处理长破折号,再加一层
SUBSTITUTE(..., "—", " ")即可。
报错原因说明
你之前嵌套公式报错,大概率是两个问题:
- 没有用
ARRAYFORMULA包裹,导致公式无法对整个C3:C40001区域批量生效; - 双引号的转义错误——Google Sheets公式中,字符串里的双引号必须写成两个连续双引号
"",直接写单个"会导致语法错误。
内容的提问来源于stack exchange,提问作者Andrew Reynoso
相关产品推荐
相关产品推荐

