Я пытаюсь разобрать файл, в котором есть каждая строка с значениями, разделенными на канал. Это не сработало, когда я не вышел из разделителя труб в режиме разделения, но он работал правильно после того, как я сбежал из трубы, как показано ниже.
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()
?