是这样的,我现在要解析一个log文件格式是这样的:
44 HBWH-BS-MMSC1-DB1 [mmsc1] :/Sharedisk1/mmsc_charge/cdr/stat/bak/20101010>grep ',922000,' *
92700120101009.9091:1009235345922000022480000,008613622179266,,0,008613622179266,008615207177870,,3,1,0,0,0,0,
92700120101010.9092:1010000914922000014350000,008613602141749,,0,008613602141749,008613657134409,,0,1,0,0,0,0,
92700120101010.9092:1010001258922000084710000,008613820425197,,0,008613820425197,008615272085315,,0,1,0,0,0,0,后面还有很多,我只想截取第三列的数据,就是008613622179266这一列,然后把每个号都做统计,统计的是次数,比如008613622179266出现了几次,以此类推。知道的告诉我下怎么解析,谢了

解决方案 »

  1.   

    public static void main(String[] args) {
    int count=0;
                    int i=0;
    try {
    BufferedReader br = new BufferedReader(new FileReader      ("D:\\fan.java"));//读取文件
    String line = "";
    while((line=br.readLine()) != null) {
                                    i++;
                                    if(i==3){
    Pattern p = Pattern.compile("008613622179266");
    Matcher m = p.matcher(line);
    while(m.find()) {
    count++;
    }
                                }
    }
    } catch (FileNotFoundException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
    } catch (IOException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
    }
    System.out.print(count);
    }
      

  2.   

    理解错了,以为读第三行,读第三列,可以不要i语句,然后Matcher m = p.matcher(line)改为Matcher m = p.matcher(line。split(【。:】)【2】);//用正则表达式将一行分割为字符串数组返回数组底3个元素,就是第三列
    ;