如何在Java中的'~|~'分隔符上拆分字符串?

Vij*_*nde 3 java regex core

我输入了 String '~|~' 作为分隔符。

例如:String s = "1~|~Vijay~|~25~|~Pune"; 当我在 Java 中用 '~\\|~' 拆分它时,它工作正常。

String sa[] = s.split("~\\|~", -1);
for(String str : sa) {
    System.out.println(str);
}
Run Code Online (Sandbox Code Playgroud)

我得到以下输出。

1
Vijay
25
Pune
Run Code Online (Sandbox Code Playgroud)

当我通过传递命令行参数('~\\|~')运行同一个程序时。它没有正确解析字符串并在输出下方给出它。

1
|
Vijay
|
25
|
Pune
Run Code Online (Sandbox Code Playgroud)

有没有其他人面临同样的问题?请对此问题发表评论。

hev*_*ev1 5

从命令行运行它时只需要一个反斜杠。在 Java 中创建正则表达式时需要两个的原因是反斜杠用于转义字符串文字中的下一个字符或开始转义序列,因此需要一个反斜杠来转义下一个,以便按字面解释。

~\|~
Run Code Online (Sandbox Code Playgroud)