java正则表达式提取网址,标题,日期
<li><ahref="?bid=2&did=0&eid=1227">高速路上停车捡葫芦引发交通事故一人身亡</a><span>2013-09-29</span></li...
<li><a href="?bid=2&did=0&eid=1227">高速路上停车捡葫芦引发交通事故一人身亡</a><span>2013-09-29</span></li>怎么用正则表达式提取网址,标题和日期,在线等,求解答
展开
2个回答
展开全部
import java.util.regex.*;
import java.util.List;
import java.util.ArrayList;
class A {
public static void main(String[] args) {
String htmlStr = "<li><a href=\"?bid=2&did=0&eid=1227\">高速路上停车捡葫芦引发交通事故一人身亡</a><span>2013-09-29</span></li>";
String reg = "<li><a href=\"?\'?(.*?)\"?\'?>(.*?)</a><span>(.*?)</span>";
Pattern p = Pattern.compile(reg, Pattern.CASE_INSENSITIVE);
Matcher m = p.matcher(htmlStr);
List<String> url = new ArrayList<String>();
List<String> title = new ArrayList<String>();
List<String> date = new ArrayList<String>();
while(m.find()){
url.add(m.group(1));
title.add(m.group(2));
date.add(m.group(3));
}
for(int i = 0; i < url.size(); i++){
System.out.println("标题:"+title.get(i)+"\r\n日期:"+date.get(i)+"\r\n链接:"+url.get(i)+"\r\n");
}
}
}
追问
while(m.find()){
n.setNews_Rq(m.group(3));
n.setNews_Title(m.group(2).replace(""", "\""));
n.setNews_Url(m.group(1).replace("\"", ""));
我想把这些存到数据库,日期是date类型的怎么弄啊
追答
日期这个字段的保存要看你的实体对象是怎么建立的啊
1)如果n.setNews_Rq(m.group(3));中的n所属类里面日期字段是字符串类型的,就不用去转换,直接存储到数据库就行了,数据库会自动进行类型转换。
2)如果实体类里面日期类型是作为日期字段建立的,那么就要把字符串转换成日期类型就行了。就像a455143246描述的那样,使用SimpleDateFormat类,并制定日期格式后,用pase(datestr)就可以了。
因为不知道你那边的具体情况,所以这边只能给出这点建议
展开全部
那你的匹配没问题了?
日期类型的数据:
String da="2013-09-29";
SimpleDateFormat smp=new SimpleDateFormat("yyyy-MM-dd");//建立日期格式
Date date=smp.pase(da);
//这块用的是java.util.Date,导入util包,功能是按照smp解析字符串为日期格式
java.sql.Date Udate=new java.sql.Date(date.getTime());
最后Udate就能存入数据库了
日期类型的数据:
String da="2013-09-29";
SimpleDateFormat smp=new SimpleDateFormat("yyyy-MM-dd");//建立日期格式
Date date=smp.pase(da);
//这块用的是java.util.Date,导入util包,功能是按照smp解析字符串为日期格式
java.sql.Date Udate=new java.sql.Date(date.getTime());
最后Udate就能存入数据库了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询