62,614
社区成员
发帖
与我相关
我的任务
分享
<!--demoStart--><br /><p class="hightlight">即日起至2012年12月31日,后付费融合套餐、单宽、e6用户均可使用9000积分换半年的高清宽带互联网视听(时尚包)。</p><br /><p class="hightlight">积分不够的用户还可以参加宽带互联网视听免费体验活动,预存宽带费用即可免费使用宽带互联网视听三个月!</p><!--demoEnd-->
清空后变成
<!--demoStart--><br /><p class="hightlight"></p><br /><p class="hightlight"></p><!--demoEnd-->
这样吧?
我的意思跟1楼一样,只能发别把demo这个标签之间的内容提出来,然后替换调换,再拼回字符串去
System.out.println(content.replaceAll("(?is)<!--demoStart-->.+?<!--demoEnd-->", ""));
<table border="0" width="650"><tbody><tr><td valign="top" rowspan="2" width="383"></td><td height="206" valign="top" width="250"></td></tr><tr><td height="251" valign="top"> </td></tr></tbody></table><p> </p><p> </p>
public static void main(String[] args) {
String content = "<table border=\"0\" width=\"650\">"
+ "<tbody><tr><td valign=\"top\" rowspan=\"2\" width=\"383\">"
+ "<!--demoStart-->"
+ "<br /><div class=\"jfitv_cons\"><dl><dt>稳定高速的宽带网络,是您的必然之选!</dt>"
+ "<dd>天翼宽带,覆盖广,上网快,覆盖广东98%地区,最高速率可达100M,下载大片,"
+ "5G的文件原来耗时1小时,现在只需10分钟!</dd>"
+ "<dt>7×24小时的服务团队,给您最到位的支持!</dt>"
+ "<dd>10000号服务热线7×24小时不间断的售前售后服务,同时为您提供网上营业厅、掌上营业厅、短信营业厅、自助服务终端等多种服务方式,给您带来最贴心到位的服务与支持。</dd>"
+ "<dt>完善的客服渠道,第一时间解除您的疑虑!</dt>"
+ "<dd>包括10000号客服中心、网上营业厅、掌上营业厅、QQ客服和实体营业厅的客户服务渠道体系,完善实施\"一站式服务\"。</dd>"
+ "<dt>专业的售后服务团队,免除您后顾之忧!</dt>"
+ "<dd>广东电信覆盖率高达98%,在全省21地市分设有办事机构,"
+ "依托这些办事机构建立起了能第一时间响应客户需求的售后服务网络,秉承\"用户至上,用心服务\"的理念,"
+ "为您彻底免除后顾之忧。</dd>"
+ "</dl></div><!--demoEnd--></td>"
+ "<td height=\"206\" valign=\"top\" width=\"250\">"
+ "<!--demoStart--><img style=\"margin: 0px; float: none\" alt=\"\" "
+ "src=\"http://172.18.8.6:8088/gdzhenqiEPG/userupload/null/20121109/20121109112640_J4Z_244x159.jpg\" />"
+ "<!--demoEnd--></td></tr><tr><td height=\"251\" valign=\"top\"> <!--demoStart-->"
+ "<br /><p class=\"hightlight\">"
+ "即日起至2012年12月31日,后付费融合套餐、单宽、e6用户均可使用9000积分换半年的高清宽带互联网视听(时尚包)。"
+ "</p><br /><p class=\"hightlight\">积分不够的用户还可以参加宽带互联网视听免费体验活动,预存宽带费用即可免费使用宽带"
+ "互联网视听三个月!</p><!--demoEnd-->" + "</td></tr></tbody></table>"
+ "<p> </p><p> </p>";
StringBuffer resultBuffer = new StringBuffer();
Pattern outerPattern = Pattern.compile("(?is)<!--demoStart-->.+?<!--demoEnd-->");
Pattern innerPattern = Pattern.compile("(?<=>)[^<]+?(?=<)");
Matcher outerMatcher = outerPattern.matcher(content);
while(outerMatcher.find()){
String innerContent = outerMatcher.group();
StringBuffer innerBuffer = new StringBuffer();
Matcher innerMatcher = innerPattern.matcher(innerContent);
while(innerMatcher.find()){
innerMatcher.appendReplacement(innerBuffer, "");
}
innerMatcher.appendTail(innerBuffer);
outerMatcher.appendReplacement(resultBuffer, innerBuffer.toString());
}
outerMatcher.appendTail(resultBuffer);
System.out.println(resultBuffer);
}
结果是
<table border="0" width="650"><tbody><tr><td valign="top" rowspan="2" width="383"><!--demoStart--><br /><div class="jfitv_cons"><dl><dt></dt><dd></dd><dt></dt><dd></dd><dt></dt><dd></dd><dt></dt><dd></dd></dl></div><!--demoEnd--></td><td height="206" valign="top" width="250"><!--demoStart--><img style="margin: 0px; float: none" alt="" src="http://172.18.8.6:8088/gdzhenqiEPG/userupload/null/20121109/20121109112640_J4Z_244x159.jpg" /><!--demoEnd--></td></tr><tr><td height="251" valign="top"> <!--demoStart--><br /><p class="hightlight"></p><br /><p class="hightlight"></p><!--demoEnd--></td></tr></tbody></table><p> </p><p> </p>
String res = "";
String srcHtml = getSrcHtml();
java.util.regex.Pattern p_demo;
java.util.regex.Matcher m_demo;
String regEx_demo = "<!--[//s]*?demoStart[^-->]*?>[//s//S]*?<!--[//s]*?///[//s]*?demoEnd[//s]*?-->";
p_demo = Pattern.compile(regEx_demo, Pattern.CASE_INSENSITIVE);
m_demo = p_demo.matcher(srcHtml);
res = m_demo.replaceAll("");
String str = "<table border='0' width='650'><tbody><tr><td valign='top' rowspan='2' width='383'><!--demoStart--><br /><div class='jfitv_cons'><dl><dt>稳定高速的宽带网络,是您的必然之选!</dt><dd>天翼宽带,覆盖广,上网快,覆盖广东98%地区,最高速率可达100M,下载大片,5G的文件原来耗时1小时,现在只需10分钟!</dd><dt>7×24小时的服务团队,给您最到位的支持!</dt><dd>10000号服务热线7×24小时不间断的售前售后服务,同时为您提供网上营业厅、掌上营业厅、短信营业厅、自助服务终端等多种服务方式,给您带来最贴心到位的服务与支持。</dd><dt>完善的客服渠道,第一时间解除您的疑虑!</dt><dd>包括10000号客服中心、网上营业厅、掌上营业厅、QQ客服和实体营业厅的客户服务渠道体系,完善实施'一站式服务'。</dd><dt>专业的售后服务团队,免除您后顾之忧!</dt><dd>广东电信覆盖率高达98%,在全省21地市分设有办事机构,依托这些办事机构建立起了能第一时间响应客户需求的售后服务网络,秉承'用户至上,用心服务'的理念,为您彻底免除后顾之忧。</dd></dl></div><!--demoEnd--></td><td height='206' valign='top' width='250'><!--demoStart--><img style='margin: 0px; float: none' alt='' src='http://172.18.8.6:8088/gdzhenqiEPG/userupload/null/20121109/20121109112640_J4Z_244x159.jpg' /><!--demoEnd--></td></tr><tr><td height='251' valign='top'> <!--demoStart--><br /><p class='hightlight'>即日起至2012年12月31日,后付费融合套餐、单宽、e6用户均可使用9000积分换半年的高清宽带互联网视听(时尚包)。</p><br /><p class='hightlight'>积分不够的用户还可以参加宽带互联网视听免费体验活动,预存宽带费用即可免费使用宽带互联网视听三个月!</p><!--demoEnd--></td></tr></tbody></table><p> </p><p> </p>";
System.out.println(str.replaceAll("<!--demoStart-->.+<!--demoEnd-->", ""));