我想比较两段代码,并用省略号替换相同的位-基本上,类似于:
=Regexreplace(A1,JOIN("|",SPLIT(B1,",")),"...")
当我用这个公式来比较"帮帮我,求求你,帮帮我"one_answers"帮帮我"时,我得到了"。。。,胡威泽,。。。"
但当我使用它比较两个公式(作为文本)时,说:
"=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)"
我得到的回报只是第二个公式。
(附言:对于我的工作环境,我将此代码与关系指针一起使用,而不是"A1"one_answers"A2")
=Regexreplace(=INDIRECT("R"&ROW()&"C"&COLUMN()-1,FALSE),JOIN("|",SPLIT(=INDIRECT("R"&ROW()&"C"&COLUMN()-2,FALSE),",")),"...")
我发现在正则表达式中不能使用特殊字符
有12个字符具有特殊含义:
反斜杠
,
插入符号
^
、美元符号
$
,周期或点
.
、竖条或竖线符号
|
、问号
?
、星号或星号
*
,加号
+
,左括号
(
,右括号
)
,以及开口方括号CCD_ 11、
左大括号
{
如果您想将这些字符中的任何一个用作正则表达式中的文字,你需要用一个反斜杠来转义它们。
在您的情况下,至少有两种:(
、)
转义特殊字符
要做到这一点,请使用以下公式:
=REGEXREPLACE(B2,"((|))","\$1")
您可以在regular_expression:中添加更多字符
((|)|*|{|})
最终公式为:
=Regexreplace(A2,JOIN("|",SPLIT(REGEXREPLACE(B2,"((|))","\$1"),",")),"...")