现有字符串 where="FASJ >= TO_DATE('2010-01-22 14:01:48','YYYY-MM-DD HH24:MI:SS') And  
FASJ <= TO_DATE('2010-04-22 14:01:48','YYYY-MM-DD HH24:MI:SS')  
 And PCSBM in ('130200000000','130202180000','130202190000')  我想在servlet里面解析出  里面的时间字符,也就是2010-01-22 14:01:48  和 2010-04-22 14:01:48 ,可有什么好办法

解决方案 »

  1.   

    提供个思路,你可以用StringBuff试试看!如果字符串是固定的话,容易实现,如果是不一定的话就麻烦,至少我现在不会,呵呵!
      

  2.   

    试一下正则Matcher m = Pattern.compile("\\d{4}-\\d{2}-\\d{2}\\s+\\d{2}:\\d{2}\\d{2}")
               .matcher("你的字符串"); while(m.find()){ 
            System.out.println(m.group()); 

      

  3.   

    用正则表达式 "\\d{4}-\\d{2}-\\d{2} \\d{2}:\\d{2}:\\d{2}"public static void processS3() {
    String S3 = "where FASJ >= TO_DATE('2010-01-22 14:01:48','YYYY-MM-DD HH24:MI:SS') And FASJ <= TO_DATE('2010-04-22 14:01:48','YYYY-MM-DD HH24:MI:SS') And PCSBM in ('130200000000','130202180000','130202190000')"; Pattern p = Pattern.compile("\\d{4}-\\d{2}-\\d{2} \\d{2}:\\d{2}:\\d{2}");
    Matcher   m   =   p.matcher(S3);
    int index = 0;
    while   (m.find()){
    index++;
    System.out.println("INDEX: " + index);

    String str1   =   m.group();
    System.out.println("group: [" + str1 + "]");

    }