Java 在 | 处拆分字符串

Java split String at |

如何在这个字符之后拆分我的字符串:| 如果我简单地写:

String[] parts = match.split("|");

字符串在每个字符后拆分。

使用:

String[] parts = match.split("\|");

管道符号是正则表达式的特殊字符;如果要使用文字管道符号字符,则需要使用反斜杠对其进行转义。因为反斜杠是 Java 字符串中的特殊字符,所以您也需要使用另一个反斜杠对其进行转义。因此,管道符号前的双反斜杠。

请转义字符:

String[] parts = match.split("\|");

String.split() 接收正则表达式,其中 | 具有特殊含义。如果你想按 | 拆分,你必须使用反斜杠转义它 \:

String.split("\|")

这里需要双反斜杠,从java的角度转义反斜杠,然后从regex的角度转义|

你需要escape这个角色。所以你可以使用这个:-

String[] parts = match.split("\|");

所以如果 match 不包含 |parts 将只包含单个元素,即 match,否则拆分 match

推荐的方法是使用:

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]