使用|拆分字符串时的不同行为 和/ /

Har*_*ana -2 java

当我拆分字符串如下,

String s1 = "id::34|desc::test";
String s2 = "id::34/desc::test";

String [] s1a = s1.split("|");
String [] s2a = s2.split("/");
Run Code Online (Sandbox Code Playgroud)

为什么s1a数组包含s1的每个字符的元素,其中s2a只有两个元素,即id :: 34和desc :: test.

我期待s1a也有两个元素.

The*_*ind 8

String.split()采取正则表达式.|正则表达式引擎中的特殊字符,您需要使用\\|或使用它来逃避它Pattern.quote().