Java奇怪的分裂行为与| 字符

我有一个小文件,其中包含一些我想用“|”拆分的内容 字符。

当我尝试使用任何其他角色(例如“>”)时,它完美地工作,但是使用“|” 性格,有一些意想不到的结果。


这条线本身(这里带有>字符)
addere>添加>(1)

拆分“>”结果
[addere,添加,(1)]

拆分“|” 结果
[,a,d,d,e,r,e,|,t,o ,, a,d,d,|,(,1,)]


为什么分裂一切甚至忽略“|” 字符串本身的字符?
提前致谢。

您必须使用反斜杠转义管道字符,因为它的含义在正则表达式中是特殊的。 然后你必须逃避Java本身的反斜杠。 尝试:

text.split("\\|") 

| 是一个元字符,当你逃避它时它起作用。

 String[] array =youString.split("\\|"); 

oracle docs也一样