2012-04-11 12 views
-4

Ich möchte eine sehr lange Zeichenfolge, die Datum, Uhrzeit und einige Kommentare mehrere Zeit in der gleichen Reihenfolge enthält, wie Sie diese in Datum, Uhrzeit und Kommentare getrennt mit Java teilen.Split-Zeichenfolge mit Java

ZB:

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 

Ich möchte Ausgabe als:

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

Bitte nicht Flagge Ihre Frage mit "dringend" oder "antworten so bald wie möglich", bitte. –

+2

Woher wissen Sie, wann ein neuer Eintrag beim Lesen der Eingabedaten beginnt? Was ist, wenn der Kommentar ein Datum enthält? – Alderath

Antwort

0

Sie können versuchen, einen regulären Ausdruck zu verwenden, aber Sie haben eine Linie/Eingabe Trennzeichen zwischen den Einträgen haben.

0

Ich würde vorschlagen, einen Algorithmus zu erstellen, der nach Value-Date-Strings nach Ihrem bekannten Format sucht (zum Beispiel nach dem nächsten String suchen, der mit einem der Monate übereinstimmt) und den String basierend darauf bricht. Finden Sie den Monat, sichern Sie sich, bis Sie den Tag gefunden haben und sich trennen.

0

Ich würde auch empfehlen, einen Regex-Ausdruck zu verwenden, um die Bedingung zu erfüllen, von wo aus Sie Ihre Zeichenfolge unterbrechen möchten.

Sie können auch ein Trennzeichen setzen, damit der Regex-Ausdruck die Zeichenfolge aufbrechen kann.

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

Ergebnis:

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