如何检查 String 是否包含 SimpleDateFormat 中的日期并检索日期?
How to check if String contains a date in a SimpleDateFormat and retrieve the date?
到目前为止我的代码:
String string = "Temp_2014_09_19_01_00_00.csv"
SimpleDateFormat format = new SimpleDateFormat("yyyy_MM_dd");
如何检查字符串是否包含日期?我怎样才能找回这个日期?有什么方向吗?
这是一个使用正则表达式做你想做的事情的简单例子(你可能想自己研究正则表达式):
public static void main(String[] args) throws FileNotFoundException, ParseException {
String string = "Temp_2014_09_19_01_00_00.csv";
SimpleDateFormat format = new SimpleDateFormat("yyyy_MM_dd");
Pattern p = Pattern.compile("\d\d\d\d_\d\d_\d\d");
Matcher m = p.matcher(string);
Date tempDate = null;
if(m.find())
{
tempDate = format.parse(m.group());
}
System.out.println("" + tempDate);
}
正则表达式查找 4digits_2digits_2digits
然后如果它找到一个并尝试将其转换为日期,则采用该匹配项。如果未找到匹配项,则 tempDate
将变为 null
。如果你想引入 timestamp
你也可以这样做。
到目前为止我的代码:
String string = "Temp_2014_09_19_01_00_00.csv"
SimpleDateFormat format = new SimpleDateFormat("yyyy_MM_dd");
如何检查字符串是否包含日期?我怎样才能找回这个日期?有什么方向吗?
这是一个使用正则表达式做你想做的事情的简单例子(你可能想自己研究正则表达式):
public static void main(String[] args) throws FileNotFoundException, ParseException {
String string = "Temp_2014_09_19_01_00_00.csv";
SimpleDateFormat format = new SimpleDateFormat("yyyy_MM_dd");
Pattern p = Pattern.compile("\d\d\d\d_\d\d_\d\d");
Matcher m = p.matcher(string);
Date tempDate = null;
if(m.find())
{
tempDate = format.parse(m.group());
}
System.out.println("" + tempDate);
}
正则表达式查找 4digits_2digits_2digits
然后如果它找到一个并尝试将其转换为日期,则采用该匹配项。如果未找到匹配项,则 tempDate
将变为 null
。如果你想引入 timestamp
你也可以这样做。