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

Java 如何将日期删除为字符串格式?,java,regex,string,date,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}”在我看来是正确的正则表达式。 为什么此代码不返回“ 谢谢你的帮助。你忘了带“-”符号 如果您不想这样做(它不适用于不同的日

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

这是我的示例代码

private String delete(String str){
    String str = "2015-07-22";
    return str.replaceAll("-2[0-9]{7}","");
}
我不确定这个
“-2[0-9]{7}”
在我看来是正确的正则表达式。 为什么此代码不返回

谢谢你的帮助。

你忘了带“-”符号

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

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


str.replaceAll(“2[0-9]{3}-[0-9]{2}-[0-9]{2},”)
\d{4}-\d{2}-\d{2}
将匹配所需的模式:

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

您的正则表达式不匹配,原因是-

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

^[0-9]{4,}(-([0-9]{2})){2}$
如果您对此有任何疑问,可以在此处找到文档:

您还可以使用以下网站测试您的正则表达式:

你能澄清一下你想要实现什么吗?“返回空字符串”?是否删除?如果你想返回一个空字符串,为什么不直接写
return“”