2012-07-06 85 views
0

我將我的所有推文導出到一個文本文件,但我想對它進行一些操作以不同的方式進行格式化。在我看來,最簡單的方法是使用正則表達式,但我沒有太多經驗。如何使用正則表達式處理文本文件?

當前格式:

User: Jack 
Text: Hello world! 
Created At: July 06 22:55:33 2012 

--- 

User: Jill 
... 

格式,我想它去:

Hello World! 

July 06, 2012 at 10:55PM via [Jack](http://twitter.com/Jack) 

--- 

... 

誰能幫我找出了正則表達式會是什麼?最棘手的部分是將時間戳從24小時改爲12小時。我也想要顛倒這個順序(最近在底部而不是在頂部),但我不確定這是多麼容易。

+0

如果你願意的話,你可以用正則表達式來解析它,但它是一種非常簡單的格式,我認爲你不需要它們。你需要別的什麼來做24h到12h的轉換。你在用什麼語言? – cha0site 2012-07-06 18:01:51

+0

如果編程語言支持作爲'Replace'參數的函數,那麼24h到12h也可以主要以正則表達式完成。 (例如Javascript,.NET) – Arithmomaniac 2012-07-06 18:03:30

+0

我在我的文本編輯器中使用find和replace來刪除一堆元數據,並認爲我可以使用正則表達式來完成最後一個操作。 – 2012-07-06 18:11:33

回答

0

重新排序,但在離開的時間爲24小時:

搜索:User: (.+)\nText: (.+)\nCreated At: (\w+ \d+) (\d+:\d+:\d+) (\d+)\n

替換:\2\n\n\3, \5 at \4 via [\1](http://twitter.com/\1)\n

替換模式可能需要$1代替\1,等等,這取決於正則表達式的味道。

第1組的用戶名

第2組是文本

集團3月份和月份的一天

組4天的時間

集團5年

使用簡單的正則表達式將24h轉換爲12h是可能的,但最好在編程語言的幫助下完成。

+0

謝謝。這真的很好。 – 2012-07-07 16:44:57