【问题标题】:Removing date from string从字符串中删除日期
【发布时间】:2012-10-03 08:38:35
【问题描述】:

我正在将一些内容添加到网站中,并且需要处理条目标题,以便它们不包含任何日期。更具体地说,诸如“Lorem ipsum 30-08-2011 dolor”之类的字符串需要变为“Lorem ipsum dolor”。我必须考虑日期,例如:2011 年 8 月 30 日、2011 年 8 月 30 日和 2011 年 8 月 30 日。

四处搜索后,我尝试了类似的方法,但它不起作用:

str.replace(/^(0?[1-9]|[12][0-9]|3[01])[\/\-\.](0?[1-9]|1[012])[\/\-\.]\d{4}$/, '');

非常感谢任何帮助。谢谢!

【问题讨论】:

    标签: javascript regex


    【解决方案1】:

    如果要匹配字符串中的模式,请删除 ^$。您当前的正则表达式只会匹配 only 包含日期的字符串。

    另外,如果要从字符串中删除多个日期,则需要使用全局正则表达式,即在结束 / 后添加 g

    str.replace(/(0?[1-9]|[12][0-9]|3[01])[\/\-\.](0?[1-9]|1[012])[\/\-\.]\d{4}/g, '');
    

    【讨论】:

      【解决方案2】:

      str.replace(/\d{1,2}[\-|\.|\/]\d{1,2}[\-|\.|\/]\d{2,4}/g, "")

      http://jsfiddle.net/cJCBE/

      【讨论】:

        【解决方案3】:
        function checkDate(date) {
          var re = /^\d{2}[.\/-]\d{2}[.\/-]\d{4}$/;
          return re.test(date);
        }
        

        【讨论】:

          猜你喜欢
          • 2017-05-05
          • 1970-01-01
          • 1970-01-01
          • 2018-12-25
          • 1970-01-01
          • 1970-01-01
          • 2021-09-11
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多