2012-04-11 74 views
-4

我想分割一個非常長的字符串,包括日期,時間和一些評論多次按相同的順序,如何分開使用java分成日期,時間和評論。使用java分割字符串

如:

21 March 2012 3:48 PM 11 doz 30 September 2011 10:51 AM Hotlist Task Deleted: To-do Ring re: Boody (Jessica ordered socks)With: 3 Beaches Chemist Deleted by: MASTER 21 September 2011 12:55 PM Hotlist Task Created: To-do Ring re: Boody (Jessica ordered socks) With: 3 Beaches Chemist Scheduled by: MASTER Assigned to: MASTER 21 September 2011 12:55 PM 7 doz 

我想輸出:

Date    Time  Comments 
21 March 2012  3:48 PM 11 doz 
30 September 2011 10:51 AM Hotlist Task Deleted: To-do Ring re: Boody (Jessica ordered socks)With: 3 Beaches Chemist Deleted by: MASTER 
21 September 2011 12:55 PM Hotlist Task Created: To-do Ring re: Boody (Jessica ordered socks) With: 3 Beaches Chemist Scheduled by: MASTER Assigned to: MASTER 
21 September 2011 12:55 PM 7 doz 
+5

請不要標誌你的問題 「緊急」 或 「儘快回覆」,請。 – 2012-04-11 11:39:41

+2

如何在讀取輸入數據時知道何時開始新條目?如果評論包含日期怎麼辦? – Alderath 2012-04-11 11:44:50

回答

0

你可以嘗試使用正則表達式,但你必須有條目之間的線/項分隔符。

0

我會建議創建一個算法,它會根據您的已知格式查找值日期字符串(例如查找匹配其中一個月份的下一個字符串)並根據該字符串打破字符串。找到月份,備份,直到你找到一天和分裂。

0

我還建議使用正則表達式來匹配你想破壞你的字符串的條件。

另外你可以把一個分隔符讓正則表達式知道破壞字符串。

0
s.replaceAll ("([0-3]?[0-9] [A-Z][a-z]+ 20[0-9][0-9])", "\n$1") 

結果:

21 March 2012 3:48 PM 11 doz 
30 September 2011 10:51 AM Hotlist Task Deleted: To-do Ring re: Boody (Jessica ordered socks)With: 3 Beaches Chemist Deleted by: MASTER 
21 September 2011 12:55 PM Hotlist Task Created: To-do Ring re: Boody (Jessica ordered socks) With: 3 Beaches Chemist Scheduled by: MASTER Assigned to: MASTER 
21 September 2011 12:55 PM 7 doz