Sto analizzando un file e contiene voci in base al tempo. formato è simile:Corrispondenza espressione regolare Java per hh: mm: ss in stringa
00:02:10-XYZ:Count=10
00:04:50-LMK:Count=3
Ecco quello che voglio è quello di estrarre il valore del tempo dalla linea di corda
Ho cercato molti collegamenti e non sono riuscito a scoprire la cosa quello che voglio, alla fine ho scritto questo codice.
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;
Di seguito si riporta il ciclo in cui applico la logica
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;
}
}
che voglio quando "matcher.find()" dà il vero mi [00:02:10] ritorna in prima iterazione e [00 : 04: 50] in 2a iterazioni.
Hai pensato di usare [SimpleDateFormat] (http://docs.oracle.com/javase/6/docs/api/java/text/SimpleDateFormat.html) invece di scrivere il proprio regex? –
No signore, non l'ho fatto, Grazie per aver condiviso il tuo codice valido – DareDevil