读书人

java 剔除HTML里面一个tag的情况

发布时间: 2013-06-25 23:45:42 作者: rapoo

java 删除HTML里面一个tag的情况
一段代码如下:
<--! begincontent >
<td>
<tr>
<td>1</td>
<td>2</td>
</tr>
</td>
<--! endcontent -->
我想要把<--! begincontent >下面的第一个<td>和<--! endcontent -->之前的第一个</td>删掉,得道如下代码:
<--! begincontent >

<tr>
<td>1</td>
<td>2</td>
</tr>

<--! endcontent -->
这一段用java来做该怎么实现呢?请各位大虾帮帮忙!不胜感激! Java HTML tag
[解决办法]
下面的这种方法应该可以,我没测试。
只是一个大体上的思路,楼主改改应该可以用。


public static void main(String[] args) {
String str="<--! begincontent ><td><tr><td>1</td><td>2</td></tr></td><--! endcontent -->";
int first=str.indexOf("<td>", str.indexOf("<--! begincontent >"));
str=str.substring(0,first)+str.substring(first+"<td>".length(),str.length());//去除第一个<td>
int second=str.indexOf("</td>\n<--! endcontent -->", str.indexOf("<--! endcontent -->"));
str=str.substring(0,second)+str.substring(second+"</td>".length(), str.length());//去除第二个</td>
}

或者用正则,
正则做应该挺有趣。
[解决办法]
引用:
或者楼主试一试这条正则语句,花了10分钟凑出来的,还有问题的话回下
Java code?1s=s.replaceAll("(?s)(.*?)"+s1+"<td>(.*?)</td>"+s2+"(.*?)", "$1"+s1+"$2"+s1+"$3");

String s1="<--! begincontent >";
String s2="<--! endcontent -->";

读书人网 >Java相关

热点推荐