藉此:20120204235900文本編輯器(正則表達式?)誘騙來解釋日期字符串
這代表:2012 02 04 23:59:00,或4 /月/ 2012年23:59:00
好吧,我有這些成千上萬,並希望將它們更改爲:2012/02/04 23:59:00,例如。
我知道我可以做一個Java程序,但必須有一個簡單的方法來做到這一點與一些文本編輯器。
任何想法?
在此先感謝。
藉此:20120204235900文本編輯器(正則表達式?)誘騙來解釋日期字符串
這代表:2012 02 04 23:59:00,或4 /月/ 2012年23:59:00
好吧,我有這些成千上萬,並希望將它們更改爲:2012/02/04 23:59:00,例如。
我知道我可以做一個Java程序,但必須有一個簡單的方法來做到這一點與一些文本編輯器。
任何想法?
在此先感謝。
在記事本+ +你就可以這樣:
([12]\d\d\d)(\d\d)(\d\d)(\d\d)(\d\d)(\d\d)
我在一開始的1或2個檢查有時間驗證的一點點,如果沒有必要再只是\d
[12]
與
\1/\2/\3 \4:\5:\6
更換要打開 「20120204235900」 到 「2012 02 04 23:59:00」
訣竅是使用\1
(稱爲反向引用)訪問括號中的子匹配。因此,組1是第二對括號中第一對括號的內容,即\2
。
有了這個,它沒有問題重新排序的子匹配,但要取代02
與February
一個更復雜的邏輯將需要。我認爲這在編輯中是不可能的。
注意:這只是測試從1或2開始的14位數字,因此它不驗證數字序列是否是有效的日期/時間!
我會用Notepad ++。
只需使用正則表達式替換這樣的:
([0-9][0-9][0-9][0-9])([0-9][0-9])([0-9][0-9])([0-9][0-9])([0-9][0-9])([0-9][0-9])
與
\1/\2/\3 \4:\5:\6
更換可以使用sed的(流編輯器),這是正常可用任何的* nix系統上。這一個班輪應該工作:
sed -e "s/^\([0-9]\{4\}\)\([0-1][0-9]\)\([0-3][0-9]\)\([0-2][0-9]\)\([0-6][0-9]\)\([0-6][0-9]\)/\1\/\2\/\3 \4:\5:\6/g" <filename>
太好了,謝謝。從來沒有聽說過記事本++。不幸的是我沒有足夠的聲望點投票。 – HellishHeat
不客氣,你沒有足夠的代表投票,但你可以[接受答案](http://meta.stackexchange.com/questions/5234/how-does-accepting-an-answer-work)。 – stema
完成。 +2對我來說!再次感謝。 – HellishHeat