首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用regexreplace比较google sheets中的两段文本

如何使用regexreplace比较google sheets中的两段文本
EN

Stack Overflow用户
提问于 2016-05-04 02:27:22
回答 1查看 160关注 0票数 0

我想要比较两段代码,并用省略号替换相同的位-基本上,类似于:

代码语言:javascript
复制
=Regexreplace(A1,JOIN("|",SPLIT(B1,",")),"...")

当我使用这个公式来比较“帮助我,请,帮助我”和“帮助我,豪威策,帮助我”时,我得到的是"...,豪威策,...“

但当我使用它比较两个公式(作为文本)时,例如:

代码语言:javascript
复制
"=IFERROR(COUNTIF({" & JOIN( "," ,C8:C12) & "},""√ Yes"")/SUM(COUNTIF({" & JOIN( "," ,C8:C12) & "},""√ Yes""),COUNTIF({" & JOIN( "," ,C8:C12) & "},""x No""),COUNTIF({" & JOIN( "," ,C8:C12) & "},""≈ Don't Know"")),0)"

通过以下方式:

代码语言:javascript
复制
="=IFERROR(COUNTIF({" & JOIN( "," ,C8:C12) & "},""√ Yes"")/SUM(COUNTIF({" & JOIN( "," ,C8:C12) & "},""√ Yes""),COUNTIF({" & JOIN( "," ,C8:C12) & "},""x No""),COUNTIF({" & JOIN( "," ,C8:C12) & "},""≈ Don't Know"")),0)"

我得到的回报只是第二个公式。

(PS:对于我的工作环境,我使用带有关系指针的代码,而不是"A1“和"A2")

代码语言:javascript
复制
=Regexreplace(=INDIRECT("R"&ROW()&"C"&COLUMN()-1,FALSE),JOIN("|",SPLIT(=INDIRECT("R"&ROW()&"C"&COLUMN()-2,FALSE),",")),"...")
EN

回答 1

Stack Overflow用户

发布于 2016-05-04 17:34:27

我发现了正则表达式中的you can't use special characters

有12个具有特殊含义的字符:

  • 反斜杠\
  • 插入符号^
  • 美元符号$
  • 句点.
  • 竖线或竖线符号|
  • 问号?
  • 星号或星号*
  • 加号D26/code>,27
  • 开括号(,

<代码>< parenthesis 左花括号{中的

如果要在regex中将这些字符中的任何一个用作文字,则需要使用反斜杠对其进行转义。

在您的例子中,至少有两个:(、)

转义特殊字符

为此,请使用以下公式:

代码语言:javascript
复制
=REGEXREPLACE(B2,"(\(|\))","\\$1")

您可以在regular_expression中添加更多字符:

  • (\(|\)|\*|\{|\})

最终的公式是:

代码语言:javascript
复制
=Regexreplace(A2,JOIN("|",SPLIT(REGEXREPLACE(B2,"(\(|\))","\\$1"),",")),"...")
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37011694

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档