为什么String.split需要使用管道定界符进行转义?

我试图解析一个文件,该文件的每一行都用管道定界值。当我没有在split方法中转义管道定界符时,它不能正常工作,但是在我如下转义管道后,它却可以正常工作。

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()方法需要转义管道字符吗?

回答:

String.split需要一个正则表达式参数。未转义的|被解析为正则表达式,表示“空字符串或空字符串”,这不是您的意思。

以上是 为什么String.split需要使用管道定界符进行转义? 的全部内容, 来源链接: utcz.com/qa/412891.html

回到顶部