【问题标题】:How to delete a Date into a String Format?如何将日期删除为字符串格式?
【发布时间】:2015-07-22 10:02:35
【问题描述】:

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

这是我的示例代码

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

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

感谢您的帮助。

【问题讨论】:

  • 你能澄清一下你想要达到的目标吗? “返回一个空字符串”?
  • 删除?不会是“返回日期”吗?
  • 如果你想返回一个空字符串,为什么不写return "";

标签: java regex string date


【解决方案1】:

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

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

【讨论】:

    【解决方案2】:

    您忘记了"-" 符号。

    如果您想这样做(它不适用于不同的日期模式,也不适用于日期

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

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

    【讨论】:

      【解决方案3】:

      您的正则表达式与 - 的原因不匹配。

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

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

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

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2016-08-25
        • 1970-01-01
        • 2018-08-30
        • 2016-05-17
        • 2015-07-13
        • 2022-01-01
        • 1970-01-01
        相关资源
        最近更新 更多