Saya mencoba mengurai file yang memiliki setiap baris dengan nilai batas pipa. Itu tidak berfungsi dengan benar ketika saya tidak lolos dari pembatas pipa dalam metode split, tetapi itu bekerja dengan benar setelah saya lolos dari pipa seperti di bawah ini.
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;
}
Bisakah seseorang tolong jelaskan mengapa karakter pipa perlu melarikan diri untuk split()
metode ini?
Pattern.quote
String
dan mengembalikan regexString
yang akan cocok dengan input (yaitu, itu mengurus semua pelarian untuk Anda).