Splitten eines Strings auf die doppelte pipe(||) mit String.split()
Ich versuche zu split die Zeichenfolge in doppelte pipe(||) als Trennzeichen.String sieht ungefähr so aus:
String str ="[email protected]||[email protected]||[email protected]";
ich bin in der Lage split es mit dem StringTokeniser.Die javadoc sagt, die Verwendung dieser Klasse wird abgeraten und stattdessen den Blick auf den String.split als option.
StringTokenizer token = new StringTokenizer(str, "||");
Der obige code funktioniert einwandfrei.Aber nicht in der Lage, herauszufinden, warum unten string.split-Funktion nicht geben von mir erwartete Ergebnis..
String[] strArry = str.split("\\||");
Wo mache ich falsch..?
- Was ist das erwartete Ergebnis?
Du musst angemeldet sein, um einen Kommentar abzugeben.
String.split()
verwendet reguläre Ausdrücke. Sie müssen die escape-Zeichenfolge, die Sie verwenden möchten, als Teiler.Muster hat eine Methode, um dies für Sie tun, nämlich
- Muster.quote(String s)
.Müssen Sie Flucht jedes einzelne
|
wie diesestr.split("\\|\\|")
|
in java?|
als\|
. Da aber der RegEx ist gebaut aus einem string, müssen Sie zusätzlich die escape - \ als \\.|
war ein regex-char. Ich bekommen den Dreh, die regex bald :pversuchen, dieses Balg :
Können Sie versuchen, diese zu...
Bitte beachten Sie, dass Sie haben zu entkommen das Rohr, da es eine Besondere Bedeutung in regulären Ausdruck und die Zeichenfolge.Methode split() erwartet einen regulären Ausdruck-argument.