【发布时间】:2019-06-30 16:24:33
【问题描述】:
我的问题如下:
在字符串“1@@@ 2### 3nd”中
我正在尝试替换字符:
“@@@”与单个字符“♠”
还有字符:
“###”与单个字符“♣”
如何将单个“@@@”字符组替换为单个字符(例如“♠”)和字符组“###”替换为另一个单个字符(例如“@987654330” @") 使用单个 google 表格公式?
我用REGEXREPLACE函数尝试了这种方法:
=IFS(
AND(
LEN(A2)-LEN(SUBSTITUTE(A2,"###",""))>0,
LEN(A2)-LEN(SUBSTITUTE(A2,"@@@",""))>0),
AND(
REGEXREPLACE(A2,"(###)","♠"),
REGEXREPLACE(A2,"(@@@)","♣")))
但它不起作用。
我也尝试过 SUBSTITUTE 函数:
=IFS(
AND(
LEN(A2)-LEN(SUBSTITUTE(A2,"###",""))>0,
LEN(A2)-LEN(SUBSTITUTE(A2,"@@@",""))>0),
AND(
SUBSTITUTE(A2,"###","♠"),
SUBSTITUTE(A2,"@@@","♣")))
我在一个类似的问题上找到了这个答案Multiple substitutions in a single text,但我不知道如何将它应用到我的案例中。
输出单元格中的预期结果应该是这样的:
“1♠ 2♣ 3nd”
非常感谢您的观察!
【问题讨论】:
-
在你的情况下,
REGEXREPLACE(A2,"@@@(.*?)###","♠$1♣")可以工作,但一般来说,对于 RE2,你不能使用条件替换模式。 -
感谢@Wiktor Stribiżew!它也很好用!我将研究如何并在需要时回来。保重!
标签: regex google-sheets substitution google-sheets-formula