2016-03-29 1 views
0

私はビデオゲーム市場で取引ログを追跡することに興味があります。私はすでに起こっているすべての取引のログを記録するプログラムを使用しています。Javaのテキストドックからのサムタイムスタンプ

[午後12時01分30秒] 1本の深海鞭(2213157ea)を購入[午後12時00分18秒]

[午後12時02分10秒] 1本の深海鞭を買っ:それはこのようになりますテキストドキュメントを作成します(2213157ea)0時00分04秒]

[午前0時02分11秒]販売1本の深淵鞭(2214442ea)0時00分18秒]

[〇時02分49秒]は1本の深淵鞭を販売します(2215775ea)[00:00:15]

括弧内に2つのタイムスタンプがあります。最初は取引が完了し、2番目が期間です。私は、各行の最後にあるすべてのタイムスタンプを合計する必要があります。

私の研究の中には、タイムスタンプをつかんで別の文字列として保存してから、日付や期間などに変換する必要があります。私はおそらく各ラインのためにそれをループする必要がありますが、私はそれのための明確なプロセスを持っていません。

誰かに私のコードを作成するよう求めているわけではありません。それは学習の目的を破るでしょう。しかし、誰かが私を正しい方向に向けることができれば、これを達成するためのスピードアップにつながります。

ありがとう!

答えて

0

[date]で始まり、[duration]で囲まれたテキストが続き、終端部分をキャプチャするregexpで各行を解析してみてください。クラスPatternとMatcherを参照してください。次に、見つかった各期間をDateFormatで解析し、それらを合計します。あなたが尋ねたような詳細はありません。

0

私はなります

  • (あなたが独自のクラスを設計したりjava.time.Durationを使用することができます)あなたは、文字列から期間を作成
  • に興味がある文字列の部分を抽出するために、正規表現を使用する - 場合jdkクラスを使用する場合はparseメソッドがありますが、最初に文字列を再フォーマットする必要があります。あるいは、LocalTime::parseという文字列からLocalTimeを作成し、Duration.between(LocalTime.MIDNIGHT, timestamp)を使用することもできます。
  • すべての期間の合計