Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/341.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 这行的日期是多少?_Java_String_Parsing_Split_Simpledateformat - Fatal编程技术网

Java 这行的日期是多少?

Java 这行的日期是多少?,java,string,parsing,split,simpledateformat,Java,String,Parsing,Split,Simpledateformat,我在解析字符串行中的一些信息时遇到一些问题。在本例中,我希望使用行2011-08-28 19:02:30。 我有很多行用于此模板。如何解析这个日期?谢谢 [47.611910999999999, -122.335178] 6 2011-08-28 19:02:30 I'm at Saigon Vietnamese Restaurant II (1529 6th Ave., at Pine St., Seattle) http://example.com 谢谢大家。这是我的解决办法 p

我在解析字符串行中的一些信息时遇到一些问题。在本例中,我希望使用行
2011-08-28 19:02:30
。 我有很多行用于此模板。如何解析这个日期?谢谢

 [47.611910999999999, -122.335178]  6   2011-08-28 19:02:30 I'm at Saigon Vietnamese Restaurant II (1529 6th Ave., at Pine St., Seattle) http://example.com
谢谢大家。这是我的解决办法

 private Date parseDate(String line) {
    line = line.replaceAll("\\s+", " ").trim();
    String[] masWords = line.split(" ");
    DateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
    Date date = null;
   try {
        date = format.parse(masWords[3] + " " + masWords[4]);
    } catch (ParseException e) {
        e.printStackTrace();
    }
    return date;
}
  • 以空格作为分隔符拆分
    String[]parts=str.Split(“”)
  • 部分[]
    中循环查找与日期和时间匹配的项目
  • 您可以使用以下正则表达式:
    • 日期:
      \d{4}-\d{2}-\d{2}
    • 时间:
      \d{2}:\d{2}:\d{2}
  • 您可以使用
    java.util.date
  • 以空格作为分隔符拆分
    String[]parts=str.Split(“”)
  • 部分[]
    中循环查找与日期和时间匹配的项目
  • 您可以使用以下正则表达式:
    • 日期:
      \d{4}-\d{2}-\d{2}
    • 时间:
      \d{2}:\d{2}:\d{2}
  • 您可以使用
    java.util.date
  • 我会这样做:

       String[] s1 = "[47.611910999999999, -122.335178]  6   2011-08-28 19:02:30 I'm at Saigon Vietnamese Restaurant II (1529 6th Ave., at Pine St., Seattle) http://t.co/8s86hNX".split(" ");
            DateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
            for(int i = 1; i< s1.length ; i++  ){
                try {
                    Date date = format.parse(s1[i-1]+" "+s1[i]);
                    System.out.println("Date found: "+s1[i-1]+" "+s1[i]);
                    break;
                } catch (ParseException e) {
                    continue;
                }
            }
    
    我会这样做:

       String[] s1 = "[47.611910999999999, -122.335178]  6   2011-08-28 19:02:30 I'm at Saigon Vietnamese Restaurant II (1529 6th Ave., at Pine St., Seattle) http://t.co/8s86hNX".split(" ");
            DateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
            for(int i = 1; i< s1.length ; i++  ){
                try {
                    Date date = format.parse(s1[i-1]+" "+s1[i]);
                    System.out.println("Date found: "+s1[i-1]+" "+s1[i]);
                    break;
                } catch (ParseException e) {
                    continue;
                }
            }
    

    您需要通过删除额外的空格来规范化字符串。。。()Regex可以快速轻松地完成此操作),然后拆分字符串将构建日期所需的字符串元素连接起来,将这些元素解析为日期对象Woala

    这方面的一个片段:

    String chain = "[47.611910999999999, -122.335178]  6   2011-08-28 19:02:30 I'm at Saigon Vietnamese Restaurant II (1529 6th Ave., at Pine St., Seattle) http://t.co/8s86hNX";
            chain = chain.replaceAll("\\s+", " ").trim();
            System.out.println(chain);
            String[] var = chain.split(" ");
            for (String string : var) {
                System.out.println(string);
            }
    
            String string = var[3] + " " + var[4];
            DateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
            Date date = format.parse(string);
            System.out.println(date);
    

    您需要通过删除额外的空格来规范化字符串。。。()Regex可以快速轻松地完成此操作),然后拆分字符串将构建日期所需的字符串元素连接起来,将这些元素解析为日期对象Woala

    这方面的一个片段:

    String chain = "[47.611910999999999, -122.335178]  6   2011-08-28 19:02:30 I'm at Saigon Vietnamese Restaurant II (1529 6th Ave., at Pine St., Seattle) http://t.co/8s86hNX";
            chain = chain.replaceAll("\\s+", " ").trim();
            System.out.println(chain);
            String[] var = chain.split(" ");
            for (String string : var) {
                System.out.println(string);
            }
    
            String string = var[3] + " " + var[4];
            DateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
            Date date = format.parse(string);
            System.out.println(date);
    

    @sferencik在我的示例中,有必要在搜索字符串拆分时剪切字符串日期@БГББСбббббч搜索字符串拆分。@sferencik在我的示例中,有必要在搜索字符串拆分时剪切字符串日期。这是一个很好的示例。谢谢)好例子。(谢谢)