如何编写替换包含引号的文本字符串的公式?

时间:2017-05-19 12:58:27

标签: excel excel-formula

我在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>

由于文本字符串包含引号,因此该公式不起作用:

=SUBSTITUTE(a1,"<text style="bold"></text>", "")

我也尝试通过编写这个公式来解决这个问题

=SUBSTITUTE(a1,CONCATENATE("<text style=", char(34), "bold", char(34), ">","</text>"), "")

但这似乎也不起作用。

如何编写替换包含引号的文本字符串的公式?

请帮忙。

3 个答案:

答案 0 :(得分:3)

SUBSTITUTE在文本的某处查找完全匹配,所有引号都应加倍。

您在公式中使用的文字并不完全存在于给定的任何示例中,因此我对其进行了调整以显示证据。

"bold"

周围加上双引号
=SUBSTITUTE(A1,"<text style=""bold""></text>", "")

enter image description here enter image description here

答案 1 :(得分:3)

您可以使用ascii代码&#34;这样做。

=SUBSTITUTE(SUBSTITUTE(A1,"<text style="&CHAR(34)&"bold"&CHAR(34)&">",""),".</text>","")

答案 2 :(得分:1)

  

如何编写替换包含引号的文本字符串的公式?

奇怪的是,Excel有一个 REPLACE 功能。已经描述了如何在引用的字符串中加倍引号,所以我只是提供替代SUBSTITUTE的双引号引号。

=REPLACE(A1, IFERROR(FIND("<text style=""bold""></text>", A1), LEN(A1)+1), LEN("<text style=""bold""></text>"), TEXT(,))

enter image description here