如何将日期删除为字符串格式?

时间:2015-07-22 10:02:36

标签: java regex string date

我想使用replaceAll()方法从日期返回一个空字符串。事实证明,到目前为止我对正则表达式有一些问题:

这是我的示例代码

private String delete(String str){
    String str = "2015-07-22";
    return str.replaceAll("-2[0-9]{7}","");
}

我不确定这个"-2[0-9]{7}"在我看来是正确的正则表达式。 为什么此代码不返回""

感谢您的帮助。

3 个答案:

答案 0 :(得分:3)

\d{4}-\d{2}-\d{2}将匹配所需的模式:

"2015-07-22".replaceAll("\\d{4}-\\d{2}-\\d{2}", "") // ""

答案 1 :(得分:0)

您忘记了"-"签名。

如果您想这样做(它不适用于不同的日期模式,也不适用于日期<2000年),请执行以下操作:

str.replaceAll("2[0-9\\-]{9}","")

str.replaceAll("2[0-9]{3}-[0-9]{2}-[0-9]{2}","")

答案 2 :(得分:0)

你的正则表达式与 - 。

的原因不符

这是一个更好的正则表达式:

^[0-9]{4,}(-([0-9]{2})){2}$

如果您对此有任何疑问,可以在此处找到相关文档: http://docs.oracle.com/javase/7/docs/api/java/util/regex/Pattern.html

您还可以使用此网站测试您的正则表达式: http://myregexp.com/