日期:2014-05-20  浏览次数:20886 次

这段文本用JAVA怎么提取
document.write( ' <h4> 503路 </h4> <div> 市区线路 (机投镇--东怡路[7:00-19:00   7:00-20:20])  '+pp( "g ", "成都辰运公交公司 ", "%B3%C9%B6%BC%B3%BD%D4%CB%B9%AB%BD%BB%B9%AB%CB%BE ")+ ' </div> <div   style= "margin-top:4px "> 普通车无人售票1元   高档车2元   公交卡无效 </div> <div   id=k> '+p( "机投镇|潮音大道|潮音大道北|草金东路|阳公桥|金雁路南|金雁路北|沙堰街|东坡大道|瑞南路|二十一世纪花园|瑞联路东|青羊大道光华大道口|光华村街西|光华村街|青华路口|草堂寺|送仙桥|青羊宫|一环路大石路口|一环路菊乐路口|高升桥|武侯祠|武侯祠东街|洗面桥横街|浆洗街|国学巷|人民南路三段中|人民南路一环路口|磨子桥|磨子村|章灵寺|二环路科华路口|棕树村|河心村|二环路东五段|成仁路口|东光小区|东怡路 ", " ", "652c397c|ff95b31b|f40b8ac5|3580845c|bc40398c|0e47eb9e|15015e92|4a11bf52|35e4ee96|bbb6e3d1|9f845b55|9b793104|000aa979|012aa690|06696c3b|4d2d26ff|adc33307|352f4c8f|f53e5750|643d0671|3f5d2857|d3b93289|bd3c9af9|8f3ced42|ba2ba71c|e14aadd4|1dca129f|f5b5536a|e71a8762|f86f6bb2|fd20fe63|39f17914|aa925da6|e67110a7|17d2a261|686d8b98|6b073962|d929db1f|b550472f ")+ '(共39站) </div> '+jc( "503路 ", "chengdu ", "2007-03-20 ", "503%C2%B7 "));

上面这段文本提取,然后转化成下面的一段。

503路
市区线路 (机投镇--东怡路[7:00-19:00   7:00-20:20]) 成都辰运公交公司
普通车无人售票1元   高档车2元   公交卡无效
机投镇   -   潮音大道   -   潮音大道北   -   草金东路   -   阳公桥   -   金雁路南   -   金雁路北   -   沙堰街   -   东坡大道   -   瑞南路   -   二十一世纪花园   -   瑞联路东   -   青羊大道光华大道口   -   光华村街西   -   光华村街   -   青华路口   -   草堂寺   -   送仙桥   -   青羊宫   -   一环路大石路口   -   一环路菊乐路口   -   高升桥   -   武侯祠   -   武侯祠东街   -   洗面桥横街   -   浆洗街   -   国学巷   -   人民南路三段中   -   人民南路一环路口   -   磨子桥   -   磨子村   -   章灵寺   -   二环路科华路口   -   棕树村   -   河心村   -   二环路东五段   -   成仁路口   -   东光小区   -   东怡路(共39站)

------解决方案--------------------
public static void findString(String args) {
String pattern = " <h4> (.+) </h4> <div> (.*) </div> <div.*> (.*) </div> ";
String s1= " ",s2= " ",s3= " ",s4= " ";
Pattern p = Pattern.compile(pattern);
Matcher m = p.matcher(args);
if(m.find()){
s1=m.group(1);
s2=m.group(2);
s3=m.group(3);

}
Matcher m1=Pattern.compile( "pp\\(\ ".*\ ",\ "(.*)\ ", ").matcher(s2);
if(m1.find()){
s2=s2.substring(0,s2.indexOf( ") ")+1)+ " "+m1.group(1)+ " "+s2.substring(s2.lastIndexOf( "> ")+1);
}
Matcher m2=Pattern.compile( "p\\(\ "(.*)\ ",\ "\ " ").matcher(s3);
if(m2.find()){
s3=m2.group(1)+s3.substring(s3.lastIndexOf( "( "));
s3=s3.replaceAll( "\\| ", "- ");
}
System.out.println( "s1= "+s1);
System.out.println( "s2= "+s2);
System.out.println( "s3= "+s3);
}
------解决方案--------------------
mark,学习了,