Zakladam ze plik i ten int jest w jakis sposob powiazany? Wiec moze cos takiego:
Kopiuj
import java.util.*;
class Test {
public static void main(String[] args) {
String line = "nazwa_pliku_1.png:17|nazwa_pliku_2.png:21";
List<String[]> items = new ArrayList<String[]>();
String[] tokens = line.split(":|\\|");
for (int i = 0; i < tokens.length; i += 2) {
String file = tokens[i];
String int_ = tokens[i + 1];
items.add(new String[] { file, int_ });
}
for (String[] item : items) {
System.out.println(String.format("file: %s, int: %s", item[0], item[1]));
}
}
}
Ten regex brzmi: dwukropek lub pipe, przy czym pierwszy pipe to regexowy OR, a drugi chcemy traktowac doslownie, dlatego musi byc escape. Dodatkowo, jeden bashslash nie wystarczy jako ze stringi w javie uzywaja backslashy do swoich escape sequence, a | jest niepoprawne, i trzeba samego backslasha escapowac.