come faccio a tirare la "16" per entrambeCome tirare fuori frase di una stringa
- Bar Foo Bar: Foo8: 16 Foo Bar Bar foo Barz
- 8:16 Foo Bar Bar foo Barz
Ecco che cosa ho provato
String V,Line ="Bar Foo Bar: Foo8:16 Foo Bar Bar foo barz";
V = Line.substring(Line.indexOf("([0-9]+:[0-9]+)+")+1);
V = V.substring(V.indexOf(":")+1, V.indexOf(" "));
System.out.println(V);
E qui è l'errore che ottengo
Exception in thread "main" java.lang.StringIndexOutOfBoundsException: String index out of range: -9
at java.lang.String.substring(String.java:1955)
at Indexing.Index(Indexing.java:94)
at Indexing.main(Indexing.java:24)
ho provato l'espressione regolare ("([0-9] + [0-9] +) +") a http://regexr.com/ ed evidenziare correttamente il "08:16"
Qual è uscita aspettarsi? – Abdelhak
È necessario utilizzare la libreria Java Regex per elencare il tipo di ricerca nel modo desiderato. Non puoi semplicemente eseguire "indexOf" con un'espressione regolare. –
la funzione ['indexOf()'] (http://docs.oracle.com/javase/7/docs/api/java/lang/String.html#indexOf%28java.lang.String%29) non prendi un'espressione regolare –