我有一个大的html。我想删除一个可以直接显示的特定span标签。如何使用Java从html中删除特定标签?
<span class=GramE> blah blah blah</span>
Output: bla bla bla
OR
<span class=a><span class=GramE>bla bla bla</span></span>
Output: <span class=a>bla bla bla</span>
或以任何其他形式的混合体。但是,应该保留
<td width=265 colspan=3 valign=top style='width:7.0cm;background:white;
padding:0cm 5.75pt 0cm 5.75pt'> <p class=MsoNormal style='margin-bottom:0cm;margin-bottom:.0001pt;text-align:justify;line-height:normal'><span class=GramE><span style='font-size:13.0pt'>(Here</span></span><span style='font-size:13.0pt'> Lorem ispsum. Lorem ispsum. Lorem ispsum. Lorem ispsum)</span></p>
</td>
我已经试过但下面的代码
实际的HTML之间...文本,该的replaceAll()似乎没有工作。我的html文本中有很多混合的span标签需要输出。请帮我弄清楚我哪里错了。以前实际的HTML被添加到问题
String filename = "file-location.html";
try (BufferedReader br = new BufferedReader(new FileReader(filename))) {
String line;
String sb = "";
while ((line = br.readLine()) != null) {
String tmp = line.replaceAll("<span class=GramE[^>]*>/g", "");
System.out.print(tmp);
}
} catch (IOException e) {
e.printStackTrace();
}
正则表达式外观结尾处的''/ g''这是错的。删除它,然后重试。 – f1sh
http://stackoverflow.com/questions/1732348/regex-match-open-tags-except-xhtml-self-contained-tags/1732454#1732454 –
@ f1sh即使我删除/ g,它也不起作用。我在此之前尝试过。 – Nevermore