Java: split () -Methode mit Pipe-Sonderzeichen

Ich habe einen String = "Hallo-neue-Welt". Und wenn ich die split () -Methode mit verschiedenen Regex-Werten verwende, verhält es sich anders.

String str = "Hello-new-world"
String[] strbuf=str.split("-");
for(int i=0;i<strbuf.length;i++)
 System.out.print(strbuf[i]+" ");

Die Ausgabe, die ich bekomme, ist:

hello
new
world

Wenn ich meine Zeichenfolge in "Hello | new | world" ändere, erhalte ich eine völlig andere Antwort. Die neue Ausgabe wird:

h
e
l
l
o
|
n
e
w
|
w
o
r
l
d

Kann jemand bitte erklären, was der mögliche Grund dafür sein könnte.

Antworten auf die Frage(7)

Ihre Antwort auf die Frage