Java中如何从字符串中提取日期并将其放入日期变量中

Pyt*_*bus 7 java regex string date

我一直在寻找堆栈溢出和其他各种网站来解决我的问题,但没有找到任何适合我的特定目的的解决方案,并且无法更改这些解决方案以适合我的代码。其中包括我不完全理解或不知道如何操作的正则表达式代码。

所以这是我的问题,我有一个具有结构的字符串:

“姓名+”地点:“+日期+”备注:“+会议笔记”

(姓名、日期和会议记录是变量)。我想要做的是提取字符串的日期部分并将其粘贴到日期变量中。日期的基本日期格式是“yyyy-MM-dd”。我该怎么做呢?

And*_*eas 8

为此,正则表达式是您的朋友:

String input = "John Doe at:2016-01-16 Notes:This is a test";

String regex = " at:(\\d{4}-\\d{2}-\\d{2}) Notes:";
Matcher m = Pattern.compile(regex).matcher(input);
if (m.find()) {
    Date date = new SimpleDateFormat("yyyy-MM-dd").parse(m.group(1));
    // Use date here
} else {
    // Bad input
}
Run Code Online (Sandbox Code Playgroud)

或者在 Java 8+ 中:

    LocalDate date = LocalDate.parse(m.group(1));
Run Code Online (Sandbox Code Playgroud)