数据挖掘:匹配筛选出书名、时间

任务目标:匹配筛选出书名、时间

代码:

//查找书名

    privatevoidcutBook(List<Term> list){

        StringbookSign1="《";

        StringbookSign2="》";

        Stringout1="";

        Termout2;

        Termb;

        for(inti=0;i<list.size();i++){

            if(list.get(i).word.equals(bookSign1)){

                for(intj=i;j<list.size();j++){

                   out1+=list.get(j).word;

                   if(list.get(j).word.equals(bookSign2)){

                       i=j;

                       //如何将分词out1加入Term

                       //out1.Term(out1,b);

                       //out2.word=out1;

                      

                       System.out.println(out1);

                       out1="";

                       break;

                   }

                }

            }

        }

    }

 

//查找年月日

    privatevoidcutTime(List<Term> list){

        StringtSign1="年";

        StringtSign2="月";

        StringtSign3="日";

        Stringna="m";

        Stringout1="";

        //Nature out2=b;

        for(inti=0;i<list.size()-5;i++){

        if(list.get(i).nature.toString().equals(na)&&list.get(i+1).word.equals(tSign1)&&list.get(i+2).nature.toString().equals(na)&&list.get(i+3).word.equals(tSign2)&&list.get(i+4).nature.toString().equals(na)&&list.get(i+5).word.equals(tSign3)){

            System.out.println(list.get(i).word+list.get(i+1).word+list.get(i+2).word+list.get(i+3).word+list.get(i+4).word+list.get(i+5).word);

            }//else continue;

        }

    }

 

输入:

 

浙江省《金华市》中级人民法院于2008年12月15日作出(2008)金中《刑二初字第30号刑事》判决:一、被告人杨延虎犯贪污罪,判处有期徒刑十五年,并处没收财产二十万元;犯受贿罪,判处有期徒刑十一年,并处没收财产十万元;决定执行有期徒刑十八年,并处没收财产三十万元。二、被告人郑新潮犯贪污罪,判处有期徒刑五年。三、被告人王月芳犯贪污罪,判处有期徒刑三年。宣判后,三被告人均提出上诉。浙江省高级人民法院于2009年3月16日作出(2009)浙刑二终字第34号刑事裁定,驳回上诉,维持原判。

输出:


知识点:

1.list数据结构.

2.equals()函数,判断字符是否相等.


待解决问题:

1.     对Term类理解不清晰,Term类中word是String类型,nature 是Nature类,Nature是枚举类型。无法对Term初始化,无法将匹配的词,加入到list。

2.     算法不够整洁、高效,只能生硬的匹配出xx年xx月xx日。

猜你喜欢

转载自blog.csdn.net/sinat_40297086/article/details/80291735