ファイルを解析していますが、時間ベースのエントリが含まれています。フォーマットは次のようなものです:
00:02:10-XYZ:Count=10
00:04:50-LMK:Count=3
ここで私が望むのは、文字列行から時間値を抽出することです
多くのリンクを検索しましたが、欲しいものを見つけることができませんでした。最終的にこのコードを書きました。
Pattern pattern = Pattern.compile("((?i)[0-9]{1,2}:??[0-9]{0,2}:??[0-9]{0,2})"); //(?i)[0-9]{1,2}:??[0-9]{0,2}:??[0-9]{0,2} //\\d{1,2}:\\d{1,2}:\\d{1,2}
Matcher matcher;
List<String> listMatches;
以下は、ロジックを適用するループです
for(int x = 0; x < file_content.size(); x++)
{
matcher= pattern.matcher(file_content.get(x));
listMatches = new ArrayList<String>();
while(matcher.find())
{
listMatches.add(matcher.group(1));
break;
}
}
「matcher.find()」が true を返すと、最初の反復で [00:02:10] が返され、2 回目の反復で [00:04:50] が返されます。