Android中如何提取HTML源码内的所有文字内容

本文介绍了一种利用正则表达式从HTML源码中提取纯文本的方法,包括去除格式字符及HTML标签。

前言

近期一个需求,要提取到网页源码中的文字,然后对这些文字做进一步的处理,首先想到的就是正则表达式,那么下边说一下怎么用正则表达式来提取到文字内容。

做法

①我们得到的HTML源码,是带有格式的,比如换行,缩进等,所以我们首先要对这些内容进行清除。

private String regMatchEnter="\\s*|\t|\r|\n";

上面对应的分别是空格,制表符,回车,换行的正则表达式,然后匹配到后,替换为空的字符串即可。

Pattern p = Pattern.compile(regMatchEnter);
Matcher m = p.matcher(HTMLSource);
HTMLSource=m.replaceAll("");

②同样的想法,之后呢,我们去匹配所有的标签,然后将标签替换为空的字符串。

private String regMatchTag = "<[^>]*>";

上面是匹配所有HTML标签的正则表达式,同样的:

Pattern p = Pattern.compile(regMatchTag);
Matcher m = p.matcher(HTMLSource);
HTMLSource=m.replaceAll("");

这样之后就可以得到所有的文字内容了!

如果嫌这样写比较麻烦,也可以这样写,直接将正则表达式写在replaceAll方法的第一个参数中,就不需要Patter和Match了:

HTMLSource=HTMLSource.replaceAll(regMatchTag,"");

效果是一样的!

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值