【问题标题】:Remove zeros from Date string从日期字符串中删除零
【发布时间】:2017-05-05 21:35:15
【问题描述】:

我有一个格式如下的字符串:'01/02/2016',我正在尝试去掉前导零,以便最后使用正则表达式得到 '1/2/2016'。

到目前为止尝试过'01/02/2016'.replace(/^0|[^\/]0./, '');,但它只给了我1/02/2016

感谢任何帮助。

【问题讨论】:

  • 不完全复制也不标记Remove leading zeroes in datestring
  • 除了缺少g 标志外,^[] 中使用时并不意味着“开始”。
  • 您可以将[^\/] 替换为\/,但mbomb007 的答案更好,因为它支持任何分隔符,而不仅仅是“/”。 ;-)

标签: javascript regex date


【解决方案1】:

您可以使用String.prototype.replace() 和正则表达式来替换分箱时的零和/ 之前的零,如下所示:

var d = '01/02/2016'.replace(/(^|\/)0+/g, '$1');
console.log(d);

【讨论】:

  • 也刚刚意识到我可以使用 moment ,因为我在我的项目中已经有依赖了 moment('01/02/2016').format('l')
  • 是的,如果您已经在使用库 Moment,那是一个很好的答案!
  • 我实际上是想找出“l”代表什么,你知道吗?在即时文档中找不到
【解决方案2】:

\b0 替换为空字符串。 \b 表示单词字符和非单词字符之间的边界。在您的情况下,\b0 将匹配前导零。

var d = '01/02/2016'.replace(/\b0/g, '');
console.log(d);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-01-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-04-09
    • 2021-06-15
    • 1970-01-01
    相关资源
    最近更新 更多