Aufteilen eines Java-Strings durch das Pipe-Symbol mit split(""|")
Aufteilen eines Java-Strings mit der Methode split() ist eine gängige Technik, um die Zeichenfolge anhand eines angegebenen Trennzeichens in kleinere Teilzeichenfolgen aufzuteilen. Bei Verwendung des Pipe-Symbols („|“) als Trennzeichen kann es jedoch zu unerwarteten Problemen kommen Ergebnisse.
Gemäß der offiziellen Java-Dokumentation wird das Pipe-Symbol („|“) in einem regulären Ausdruck (Regex) als OR-Operator behandelt. Dies bedeutet, dass test.split(“|“) effektiv aufteilt Die Zeichenfolge basiert entweder auf „A“ oder „|“. Dies führt zu einer unerwarteten Ausgabe, bei der auch leere Zeichenfolgen („<“) in den Split-Ergebnissen enthalten sind.
Um dieses Verhalten zu verhindern, ist es notwendig um das Pipe-Symbol mit a zu maskieren Backslash (). Der Backslash fungiert in regulären Ausdrücken als Escape-Zeichen und ermöglicht es Ihnen, das Pipe-Symbol als Literalzeichen und nicht als Operator zu behandeln. Die richtige Art, die Zeichenfolge durch das Pipe-Symbol zu teilen, ist:
String[] result = test.split("\|");
Durch das Escapen des Pipe-Symbols stimmt der reguläre Ausdruck „|“ nur mit dem Pipe-Symbol selbst überein und die Zeichenfolge wird in die gewünschten Teile aufgeteilt Teilzeichenfolgen:
>A< >B< >C< >D<</p> <p>Alternativ können Sie auch die Methode Pattern.quote() verwenden, um eine maskierte Version des Pipe-Symbols zu erstellen:</p> <pre class="brush:php;toolbar:false">String[] result = test.split(Pattern.quote("|"));
Diese Methode gibt eine Zeichenfolge mit allen zurück Vorkommen von Metazeichen in der Eingabezeichenfolge werden maskiert, wodurch die wörtliche Bedeutung der Zeichen erhalten bleibt. Durch die Verwendung von Pattern.quote("|) in der Methode split() erzielen Sie das gleiche Ergebnis wie durch manuelles Escapen des Pipe-Symbols.
Das obige ist der detaillierte Inhalt vonWie teilt man einen Java-String mithilfe des Pipe-Symbols als Trennzeichen korrekt auf?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!