如何编写一个replace包含引号的文本string的公式?
我在Excel中有一个单元格,为了举例,它包含这个:
<text style="bold">Text.</text> <text style="bold">More text.</text> <text style="bold"></text> <text style="bold">Other text.</text> <text style="bold"></text>
现在,我想编写一个公式,删除所有不包含任何文本的文本样式标签,即所有<text style="bold"></text>
。
由于文本string包含引号,因此此公式不起作用:
=SUBSTITUTE(a1,"<text style="bold"></text>", "")
我也试图通过写这个公式来解决这个问题
=SUBSTITUTE(a1,CONCATENATE("<text style=", char(34), "bold", char(34), ">","</text>"), "")
但是这似乎也不起作用。
如何编写一个replace包含引号的文本string的公式?
请帮忙。
SUBSTITUTE在文本的某处查找完全匹配,所有引号应加倍。
你在公式中使用的文本并不完全存在于任何给出的例子中,所以我调整了这一点以显示证据。
在"bold"
周围放置双引号:
=SUBSTITUTE(A1,"<text style=""bold""></text>", "")
你可以使用ascii代码来“做到这一点。
=SUBSTITUTE(SUBSTITUTE(A1,"<text style="&CHAR(34)&"bold"&CHAR(34)&">",""),".</text>","")
如何编写一个replace包含引号的文本string的公式?
奇怪的是,Excel有一个REPLACE函数。 已经描述了如何在引用的string中加倍引号,所以我只是简单地提供替代SUBSTITUTE的引用。
=REPLACE(A1, IFERROR(FIND("<text style=""bold""></text>", A1), LEN(A1)+1), LEN("<text style=""bold""></text>"), TEXT(,))