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

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/aiynmimi/article/details/52487507

前言

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

做法

①我们得到的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,"");

效果是一样的!

阅读更多
换一批

没有更多推荐了,返回首页