Java 从字符串中提取日期
我想从java字符串中查找日期。但我不能这样做,请帮助Java 从字符串中提取日期,java,regex,Java,Regex,我想从java字符串中查找日期。但我不能这样做,请帮助 String : 01-02-2014 <2> Ineed output like :01-02-2014 只需将\\d\\d-\\d\\d-\\d{4}提取出来,让SimpleDateFormat执行解析工作。您正在用它们自己替换后面的内容(日期段) 如果要提取它,这将起作用: String regex = "(([1-9]|[012][0-9]|3[01])[-/]\\s*(0[1-9]|1[012])[-/]\\
String : 01-02-2014 <2>
Ineed output like :01-02-2014
只需将
\\d\\d-\\d\\d-\\d{4}
提取出来,让SimpleDateFormat
执行解析工作。您正在用它们自己替换后面的内容(日期段)
如果要提取它,这将起作用:
String regex = "(([1-9]|[012][0-9]|3[01])[-/]\\s*(0[1-9]|1[012])[-/]\\s*((19|20)?[0-9]{2})).*?<(\\d+)>";
String str = "This is a random string 01-02-2014 <123> this is another part of that random string";
Pattern p = Pattern.compile(regex);
Matcher m = p.matcher(str);
while(m.find())
{
System.out.println("Date: " + m.group(1));
System.out.println("Number: " + m.group(6));
}
如果空间一直存在,那就很简单了
String dateStr = "01-02-2014 <2>"
String dateSplit[] = dateStr.split(" ");
//dateSplit[0] is what u are looking for
String dateStr=“01-02-2014”
字符串dateSplit[]=dateStr.split(“”);
//dateSplit[0]是您正在寻找的
或
String dateStr=“01-02-2014”
字符串dateSplit[]=dateStr.split(“您只想删除除dd-mm-yyyy
之外的所有内容吗?是的,删除除dd-mm-yyyy之外的所有内容您不仅仅是提取,您还想验证日期吗?是的,我想验证日期我可以为这一个获取正则表达式代码吗?很难确定提取的字符串是否是带有正则表达式的有效日期。例如29-02-2000(有效)
和29-02-2013(无效)
我的答案中的\\d\\d…
是提取“日期字符串”的正则表达式。但是您需要通过SimpleDataFormat检查它是否是有效日期。@user2601972如何在@user2601972中获取2:请查看我的更新。
Date: 01-02-2014
Number: 123
String dateStr = "01-02-2014 <2>"
String dateSplit[] = dateStr.split(" ");
//dateSplit[0] is what u are looking for
String dateStr = "01-02-2014 <2>"
String dateSplit[] = dateStr.split("<");
//dateSplit[0].trim() is what u are looking for