我有这个
String str = "a,pnp,a|pnp,lab2|pnp,a|pnp,lab2,utr,utr";
String[] strings = str.split("|");
Run Code Online (Sandbox Code Playgroud)
这段代码不会围绕'|'拆分 相反,它会分割每个字符
strings[0] == "a";
strings[1] == ",";
Run Code Online (Sandbox Code Playgroud)
等等.
如何让这个工作得到
strings[0] == "a,pnp,a"
strings[1] == "pnp,lab2"
...
Run Code Online (Sandbox Code Playgroud)
split()采用正则表达式,并|保留为正则表达式OR,因此您需要将其转义:
String[] strings = str.split("\\|");
Run Code Online (Sandbox Code Playgroud)
甚至更好:
String[] strings = str.split(Pattern.quote("|"));
Run Code Online (Sandbox Code Playgroud)