2013-10-03 175 views
1

我有一个HTML代码,我想从中删除某些标签。我试图做,而不解析它和回收标签。所以,我得到了一个字符串中的整个HTML代码。我想删除以下标签:用特殊字符分割字符串

<cite>www.youtube.com/watch?v= 

对于这一点,我使用:

array=htmlCode.split("<cite>www.youtube.com/watch?v="); 

这个标签会出现很多次。但是当我拆分时,我没有在我的数组中获得子字符串,只是得到一个完整的代码字符串。这是为什么发生?

+4

您应该使用替换方法。顺便说一句,你没有把正确的分裂参数。 –

+0

取代??为什么它错了?我也尝试通过在每个特殊字符上放置转义[array = htmlCode.split(“\\ www \\。youtube \\。com \\/watch \\?v \\ =”);]这也不起作用。 –

+0

尝试替换,如果你确切知道你想删除哪个标签 – DropAndTrap

回答

1
  1. 你一定要逃逸正则表达式.?,因为他们有特殊的含义。通常情况下,您可以使用单个反斜杠,\。但是,我们正处于一个字符串中,并且不幸的是在引号内还有一个特殊的含义。所以,我们必须再次逃脱,这就是为什么我们需要两个反斜杠,\\

  2. replaceAll(String regex, String replacement)是您正在查找的方法。

实施例:

String htmlCode = "START<cite>www.youtube.com/watch?v=END"; 
String result = htmlCode.replaceAll("<cite>www\\.youtube\\.com/watch\\?v=", ""); 
System.out.println(result); 

Output

STARTEND 

加成:

RegexPal是用于测试的正则表达式的方便工具。

+0

好主意。但是响应是完整的HTML代码。如果我将其替换为空白,我将不会获取关键字来获取xD。所以,我想我可以用其他一些独特的字符串替换它。那可行。 :d –