前言:
随着HTML5的火热,Android开发过程中某些地方也需要用上一些图文混排的数据展示,比如编辑的一些富文本,又或者是类似淘宝那样的一些直接使用Android提供的WebView来加载的的连接显示一些图文,这些随着时间的推移也在慢慢的加入Android开发中。
在最近的一个项目中有这样一个需求,后台数据返回的一条链接,这条链接里面是一些图片和文字混合排列,然后需要我在Android手机端显示出来,我心想这不是用个WebView直接加载不就完事了吗?多简单的事。但是没想到自己高兴早了,后面有说需要把这个图文混排里面的文字提取出来,然后把他读出来。那好吧,我也只能写了,是吧,但是写的过程中第一思路呢是正则表达式,但是我发现要匹配这么多不规则的数据,这个正则表达式我还写不出来!所以就找另外一种方式。接下来就介绍一下这种方式
步骤一:
第一步:先介绍一个jar包,这个jar包名叫jsoup。jsoup 是一款Java 的HTML解析器,可直接解析某个URL地址、HTML文本内容。它提供了一套非常省力的API,可通过DOM,CSS以及类似于jQuery的操作方法来取出和操作数据。下载传送门
步骤二:
第二步就直接写解析该标签的解析代码:代码如下
public static String getTextHTMLToCellarDesc(String htmlStr) {
Document doc = Jsoup.parse(htmlStr);
String textstr = doc.text();
StringBuilder builder = new StringBuilder(textstr);
int index = 0;
while(builder.length()>index){
char tmp = builder.charAt(index);
if(Character.isSpaceChar(tmp) || Character.isWhitespace(tmp)){
builder.setCharAt(index, ' ');
}
index++;
}
return builder.toString().replaceAll(" +", " ").trim();
}
步骤三:
第三步直接将后台返回的解析到的数据传入到改方法,获取到的返回值就是传入数据中所有的文字。
以上就是jsoup的使用。谢谢!