如何在此字符后分割我的字符串:| 如果我只是写:
String[] parts = match.split("|");
String在每个字符后被拆分。
答案 0 :(得分:3)
请逃离角色:
String[] parts = match.split("\\|");
答案 1 :(得分:2)
使用:
String[] parts = match.split("\\|");
管道符号是正则表达式的特殊字符;如果要使用文字管道符号字符,则需要使用反斜杠转义它。并且因为反斜杠是Java字符串中的特殊字符,所以您需要使用另一个反斜杠来转义它。因此,管道符号前面会出现双反斜杠。
答案 2 :(得分:1)
String.split()
收到正则表达式|
具有特殊含义。如果您要按|
拆分,则必须使用反斜杠\
将其转义:
String.split("\\|")
这里需要双反斜杠从java的角度来逃避反斜杠,然后从正则表达式的角度转义|
。
答案 3 :(得分:1)
推荐的方法是使用:
String[] parts = match.split(Pattern.quote("|"));
这个
public void test() {
String match = "A|B";
String[] parts = match.split(Pattern.quote("|"));
System.out.println(Arrays.toString(parts));
}
打印
[A,B]
答案 4 :(得分:0)
你需要escape
这个角色。所以你可以使用它: -
String[] parts = match.split("\\|");
因此,如果match
未包含|
,则parts
将仅包含单个元素,即match
,否则分割match