Back
I am trying to parse a file that has each line with pipe delimited values. It did not work correctly when I did not escape the pipe delimiter in split method, but it worked correctly after I escaped the pipe as below.
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;}
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;
Can someone please explain why the pipe character needs to be escaped for the split() method?
31k questions
32.8k answers
501 comments
693 users