通过NotePad ++更改日期格式
我需要更改文件中几个日期的格式。 该文件包含一千行。通过NotePad ++更改日期格式
我不知道是否可以使用正则表达式将Apr 07, 2016
这样的日期转换为2016-04-07
(ISO 8601国际标准)?
下面是一些例子
Apr 07, 2016
=>2016-04-07
Jun 11, 2004
=>2004-06-11
Mar 31, 1975
=>1975-03-31
我想用记事本++文本编辑器来做到这一点。
你可以用字典技巧来实现这一点。(见下文)
我们将使用下面的正则表达式:
(Jan|Fev|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)(?=[\s\S]*Dictionary.*:\1=(\d+))\s(\d{2}),\s(\d{4})
使用记事本++或崇高文本
首先,打开您的文件文本编辑器并将其粘贴到我们文件的底部:
Dictionary:Jan=01:Fev=02:Mar=03:Apr=04:May=05:Jun=06:Jul=07:Aug=08:Sep=09:Oct=10:Nov=11:Dec=12
然后,打开查找/替换菜单(或使用CTRL + H)及用途:
查找内容:我们的正则表达式
替换为:\4-\2-\3
搜索模式:正则表达式
现在点击全部替换
演示
说明
0123在第一组(?=...)
其次
[\s\S]*Dictionary.*
任何字符,直到Dictionary
字
(Jan|Fev|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)
捕获MONTH(这就是为什么字典必须在该文件的末尾是过去)
:\1=(\d+)
Dictionary
后,比赛第捕获值,然后是=
,然后在第二组中捕获一些数字,这是月份替换
现在我们可以继续定义日期模式。
\s(\d{2})
月之后是一个空白和2个其以第三组捕获数字,这是一天
\s(\d{2}),\s(\d{4})
日之后是逗号,空格和4位,其在所捕获的第4组,这是今年以来
现在我们所有的群体都可以,我们可以建立替代模式:
\4-\2-\3
YEAR -REPLACEMENT_MONTH -DAY
这不是Npp/regex的工作,你最好用你最喜欢的脚本语言编写脚本。 – Toto
@Toto非常棘手,但可以使用字典技巧实现。 –
您可以轻松地在Excel中执行此操作而不是编写脚本语言 –