我正在尝试更改 Google 表格中部分文本字符串(子字符串)的大小写。
我尝试将 PROPER 函数应用于 REGEXREPLACE 内的正则表达式捕获组,但失败了。
PROPER 函数 (UPPER 和 LOWER 也是如此) 被忽略了。
示例公式已被简化以说明该问题。
PROPER 失败
=REGEXREPLACE(
"POPCORN",
"^([[:upper:].*)",
PROPER("$1"))
="POPCORN"
如果我改用 REGEXEXTRACT 函数来提取字符串,我可以将其包装在 PROPER 中,它就会按预期运行。
PROPER 成功
=PROPER(
REGEXEXTRACT(
"POPCORN",
"^([[:upper:].*)")
="Popcorn"
能够将 REGEXREPLACE 与 PROPER 一起使用可以简化公式。
而不是使用:
PROPER 失败
=REGEXREPLACE(text,regex,
PROPER("$1"))
我正在使用以下方法:
PROPER 成功
=SUBSTITUTE(text,
REGEXEXTRACT(text,regex),
PROPER(REGEXEXTRACT(text,regex))))
或者变体
=LET(str,REGEXEXTRACT(text,regex),
SUBSTITUTE(text,str,PROPER(str)))
有没有办法调整无法在 REGEXREPLACE 函数中成功使用 PROPER 的公式中的语法?
答案1
我认为没有办法简化你的公式。
PROPER("$1")
应用于字符串"$1"
而不是匹配项,并且无法改变这种行为。