我想要比较两段代码,并用省略号替换相同的位-基本上,类似于:
=Regexreplace(A1,JOIN("|",SPLIT(B1,",")),"...")当我使用这个公式来比较“帮助我,请,帮助我”和“帮助我,豪威策,帮助我”时,我得到的是"...,豪威策,...“
但当我使用它比较两个公式(作为文本)时,例如:
"=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)"通过以下方式:
="=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")
=Regexreplace(=INDIRECT("R"&ROW()&"C"&COLUMN()-1,FALSE),JOIN("|",SPLIT(=INDIRECT("R"&ROW()&"C"&COLUMN()-2,FALSE),",")),"...")发布于 2016-05-04 17:34:27
我发现了正则表达式中的you can't use special characters:
有12个具有特殊含义的字符:
\,^,$,.,|,?,*,加号D26/code>,27开括号(,<代码>< parenthesis 左花括号{中的
如果要在regex中将这些字符中的任何一个用作文字,则需要使用反斜杠对其进行转义。
在您的例子中,至少有两个:(、)
转义特殊字符
为此,请使用以下公式:
=REGEXREPLACE(B2,"(\(|\))","\\$1")您可以在regular_expression中添加更多字符:
(\(|\)|\*|\{|\})最终的公式是:
=Regexreplace(A2,JOIN("|",SPLIT(REGEXREPLACE(B2,"(\(|\))","\\$1"),",")),"...")https://stackoverflow.com/questions/37011694
复制相似问题