========网页源码如下=========
..........
..........
<div class="neirong">
《疯狂android讲义》
<br />
第1章  android应用与开发环境1
<br />
1.1  android的发展和历史2
<br />
1.1.1  android的发展和简介2
<br />
1.1.2  android平台架构及特性3
<br />
..........
..........
<div class="read-more">========================
要求:
1.以 class="neirong" 作为标识,真正截取的是从第1章开始,到<div class="read-more">结束。
2.去除<br />等杂项,最后希望呈现的String为:
================================
第1章  android应用与开发环境    11.1  android的发展和历史    21.1.1  android的发展和简介    2================================
这种干净的格式
3.页码与前面的文字之间必须是TAB(制表符)!这点很重要!!
求高手指点思路,或提供源码,小弟感激不尽!!

解决方案 »

  1.   

    import java.util.Arrays;
    import java.util.regex.Matcher;
    import java.util.regex.Pattern;
    public class dsfg {
    public static void main(String[] args){
    String s="<div class=\"neirong\">"
    +"《疯狂android讲义》"+
    "<br />"+
    "第1章  android应用与开发环境1"+
    "<br />"+
    "1.1  android的发展和历史2"+
    "<br />"+
    "1.1.1  android的发展和简介2"+
    "<br />"+
    "1.1.2  android平台架构及特性3"+
    "<br />"+
    "...................."+
    "<div class=\"read-more\">";Pattern p=Pattern.compile("<div class=\"neirong\">(.*)<div class=\"read-more\">");
    Matcher m=p.matcher(s);
    while(m.find()){

    String[] a=m.group(1).split("<br />");
    for(int i=2;i<a.length;i++){
    Pattern pa=Pattern.compile("(.*)(\\d)");
    Matcher ma=pa.matcher(a[i]); while(ma.find()){

    System.out.printf("%s\t%d\n",ma.group(1),Integer.parseInt((ma.group(2))));
    }
    }


    }
    }
    }
      

  2.   

    正则也可以,或者用htmlparser像解析xml一样解析网页内容。
      

  3.   

    头和尾的===========没加
    写成了一个工具类String html="ss<p>kk</p>ss";
    public static List<String> getContext2(String html) {

    List<String> resultList = new ArrayList<String>();
            Pattern p = Pattern.compile("第一章(.*?)<div class=\"read-more\">");//匹配<p>开头,</p>结尾的文档
            Matcher m = p.matcher(html );//开始编译
            while (m.find()) {
             String str=m.group(1);
             str=str.replaceAll("<br />", "");
                resultList.add(m.group(1));//获取被匹配的部分
            }
            return resultList;
        }