java正则表达式去除html标签,java运用正则表达式去除字符串的html标签

java使用正则表达式去除字符串的html标签

public class Test {

/**

* @param args

*/

public static void main(String[] args) {

// TODO Auto-generated method stub

String atr="

你这个错就错在使用了.*" +

"在正则里.
指的是匹配所有字符,而且是匹配优先,对于你这个正则来说到<a\\shref=\"(http:为止都是正常的,但后面的.*就会一直匹配到文件的最后,因为对于.*来说是匹配所有字符,所以后面的一切都是匹配的.匹配到最后结尾时,再来进行结尾检查,但你的正则是以</a>结尾的,不符合,所以就再回头向回一个个的查,一直查到(.*[^>])中的.*匹配.好了,最后你这个表达式最终的结果其实就是匹配以<a\\shref=\"(http: 开头,以[^>])</a>结尾,中间是任意字符的表达式

";

System.out.println(splitAndFilterString(atr,100));

}

/**

* 删除input字符串中的html格式

*

* @param input

* @param length

* @return

*/

public static String splitAndFilterString(String input, int length) {

if (input == null || input.trim().equals("")) {

return "";

}

// 去掉所有html元素,

String str = input.replaceAll("\\&[a-zA-Z]{1,10};", "").replaceAll(

"]*>", "");

str = str.replaceAll("[(/>)

int len = str.length();

if (len <= length) {

return str;

} else {

str = str.substring(0, length);

str += "...";

}

return str;

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值