-4

日付、時刻、およびいくつかのコメントを含む非常に長い文字列を同じ順序で複数回分割したい.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
4

4 に答える 4

0

既知の形式に従って値の日付文字列を検索し(たとえば、月の1つに一致する次の文字列を検索する)、それに基づいて文字列を分割するアルゴリズムを作成することをお勧めします。月を見つけ、日が見つかるまでバックアップして分割します。

于 2012-04-11T11:55:08.440 に答える
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
于 2012-04-28T12:01:12.983 に答える
0

正規表現を使用することもできますが、エントリ間に行/エントリの区切り文字が必要です。

于 2012-04-11T11:42:56.513 に答える
0

また、正規表現を使用して、文字列を分割したい場所の条件に一致させることをお勧めします。

また、デリミタを配置して、正規表現に文字列を分割することを知らせることもできます。

于 2012-04-11T11:58:10.610 に答える