如何使用replaceAll从String中删除某些html标签?

时间:2015-03-04 10:20:52

标签: java html parsing tags replaceall

我有一个包含不同种类的html标签的字符串。

我想删除所有<a></a>代码。

我试过了:

string.replaceAll("<a>", "");
string.replaceAll("</a>", "");

但它不起作用。这些标签仍保留在字符串中。为什么呢?

2 个答案:

答案 0 :(得分:5)

  

这些标签仍保留在字符串中。为什么呢?

因为replaceAll没有直接修改字符串(它不能,字符串是不可变的),所以返回修改后的字符串。所以:

string = string.replaceAll("<a>", "");
string = string.replaceAll("</a>", "")

Live Example

或者

string = string.replaceAll("<a>", "").replaceAll("</a>", "")

请注意replaceAll将定义正则表达式的字符串作为其第一个参数。 "<a>""</a>"都很好,但除非您需要使用正则表达式,否则请改用replace(CharSequence,CharSequence)。如果使用replaceAll,请注意正则表达式中具有特殊含义的字符。

事实上,你可以利用你使用正则表达式的事实,用一个replaceAll来做到这一点:

string = string.replaceAll("</?a>", "");

?之后的/使/成为可选项,以便&#39; ll替换"<a>""</a>"

Live Example

答案 1 :(得分:0)

replaceAll(“\&lt; \ w * \&gt;”,“\”).replaceAll(“\”,“\”);删除所有标签html XD,2“\”