【问题标题】:how to get date format in notepad++如何在记事本++中获取日期格式
【发布时间】:2012-08-06 12:10:39
【问题描述】:

您好,我有一个包含几千行的文件要添加到 MySQL 数据库中。行中有日期值采用 dd/mm/yyyy、d/mm/yy 格式,但我需要它们采用 yyyy-mm-dd 格式。

例如:'11/04/2011',需要变成 '2011-04-11',在每一行 7/04/2011',需要在每一行变成 '2011-04-07'

有没有一种简单的方法可以在 notepad++ 中使用查找和替换来做到这一点。

【问题讨论】:

  • 查找:(\d+)/(\d+)/(\d{4}) 替换为:$3-$2-$1

标签: regex replace find notepad++


【解决方案1】:

你可以用 Notepad++ 做到这一点:

查找:([0-9]+)/+([0-9]+)/+([0-9]+)

替换:\3-\2-\1

【讨论】:

  • 如果您知道现有日期是固定宽度的(例如,如果小于 10,则日期和月份以零为前缀)然后指定精确的重复计数将减少误报的可能性:([0-9]{2})/([0-9]{2})/([0-9]{4})
  • 这将找到两种情况,但不会正确替换两种情况(如果日期是单个数字,则需要能够附加一个 0)。
【解决方案2】:

为避免表达混乱,您应该分两次执行此操作。首先,您想用两位数的日期查找/替换日期:

Find: ([0-9]{2})/([0-9]{2})/([0-9]{4})
Replace: \3-\2-\1

那么你想在一位数的日子里做同样的事情:

Find: ([0-9]{1})/([0-9]{2})/([0-9]{4})
Replace: \3-\2-0\1

请注意,每个示例中的查找和替换值都不同(一个使用前导 0,一个不用于替换)。如果先运行第二遍,最终会出现很多误报。

【讨论】:

    【解决方案3】:

    查找:(\d*)/(\d*)/(\d\d\d\d)

    替换:($3)-($1)-($2)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-07-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-12-02
      • 2012-01-07
      • 2014-06-02
      • 2018-05-31
      相关资源
      最近更新 更多