【问题标题】:How to substitute a chars group with a single char and another chars group with another single char with a formula in Google Sheets?如何用 Google 表格中的公式用单个字符替换一个字符组,用另一个单个字符替换另一个字符组?
【发布时间】: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


【解决方案1】:
=SUBSTITUTE(SUBSTITUTE(A17, "@@@", "♠"), "###", "♣")


=REGEXREPLACE(REGEXREPLACE(A17, "@@@", "♠"), "###", "♣")

【讨论】:

  • 再次感谢@player0。你摇滚!我看不出有可能嵌入它来实现结果。我需要学习嵌入公式,看看它是如何工作的。由于要嵌入两次单元格引用,这似乎总是有点反直觉。
  • 我现在看到了,单元格引用只需要为两个公式引用一次,我们从嵌入的公式中完成!再次感谢。身体健康!
猜你喜欢
  • 2020-02-08
  • 2011-11-14
  • 2021-06-15
  • 2013-12-03
  • 2011-08-21
  • 1970-01-01
  • 2013-06-26
  • 2021-12-04
  • 1970-01-01
相关资源
最近更新 更多