Я намагаюся розібрати файл, у якому кожен рядок із значеннями, розміщеними в трубі. Він не працював правильно, коли я не уникав роздільника труби методом спліт, але він працював правильно після того, як я уникнув трубу, як показано нижче.
private ArrayList<String> parseLine(String line) {
ArrayList<String> list = new ArrayList<String>();
String[] list_str = line.split("\\|"); // note the escape "\\" here
System.out.println(list_str.length);
System.out.println(line);
for(String s:list_str) {
list.add(s);
System.out.print(s+ "|");
}
return list;
}
Може хтось, будь ласка, пояснить, чому для split()методу потрібно уникати характер труби ?
Pattern.quote
Stringі повертає регулярний вираз,Stringякий буде відповідати вхідному (тобто він піклується про всі втечі для вас).