我需要更改文件中幾個日期的格式。 該文件包含一千行。通過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
我想用記事本++文本編輯器來做到這一點。
我需要更改文件中幾個日期的格式。 該文件包含一千行。通過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中執行此操作而不是編寫腳本語言 –