这是我写的一个例子,目的是截取所有“正文”之前的内容并用descadd替换。并删除所有被<!--,-->包括的部分。
但是有一个问题是这个正文并不好确定,正文的特点就是在<p></p>的标签后面,前面的<p></p>是连续的,后面是否有<p></p>不确定,但是后面的被<p></p>包括的部分不用处理。
这是原来的字符串,
desc="xxxx<p>xxx</p>ffff<p>fewfwe</p>12345<!--fefe-->fefew<!--FE-->fe<p>fe</p>fe";
这是想要的结果:12345fefewfe<p>fe</p>fepublic static String getStandardDesc(String desc, String descadd) {
// 选择截取的条件
desc="xxxx<p>xxx</p>grgrg<p>fewfwe</p>fefwef<!--fefe-->fefew<!--FE-->fe";
descadd="---------------";
String result = desc.replaceAll("(.*?)<p>", descadd+"<p>");
// 清除所有被<p></p>包括的部分
result = result.replaceAll("<p>(.*?)</p>", "");
// 清除所有被注释的部分
result = result.replaceAll("<!--(.*?)-->", "");
return result;
}
这是我写的,有BUG,而且三个式子效率低,求帮忙改一下。