任务目标:匹配筛选出书名、时间
代码:
//查找书名 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日。