Heim > Java > javaLernprogramm > Wie bleiben leere Strings beim Teilen eines Java-Strings erhalten?

Wie bleiben leere Strings beim Teilen eines Java-Strings erhalten?

Barbara Streisand
Freigeben: 2024-12-31 10:17:13
Original
447 Leute haben es durchsucht

How to Preserve Empty Strings When Splitting a Java String?

Java-String-Aufteilung ohne leere Werte

Beim Aufteilen einer Zeichenfolge mit der Methode split() werden leere Werte, die aus der Aufteilungsoperation resultieren, gelöscht wird normalerweise aus dem resultierenden Array entfernt. Dies kann zu unerwarteten Ergebnissen führen, insbesondere wenn mit Zeichenfolgen gearbeitet wird, die möglicherweise leere Werte enthalten.

Bedenken Sie den folgenden Codeausschnitt:

String data = "5|6|7||8|9||";
String[] split = data.split("\|");
System.out.println(split.length);
Nach dem Login kopieren

Im obigen Beispiel ist die erwartete Ausgabe ein Array mit 8 Elementen: [5, 6, 7, EMPTY, 8, 9, EMPTY, EMPTY]. Die tatsächliche Ausgabe besteht jedoch nur aus 6 Werten, mit Ausnahme der leeren Werte.

Um dieses Problem zu beheben und sicherzustellen, dass leere Werte im resultierenden Array enthalten sind, können wir die überladene Version der Methode split() verwenden Nimmt einen zusätzlichen Grenzwertparameter an, der auf einen negativen Wert eingestellt ist.

String[] split = data.split("\|", -1);
Nach dem Login kopieren

Durch das Setzen des Grenzwertparameters auf -1 geben wir an, dass es keine Begrenzung für die Häufigkeit der Anwendung des Teilungsmusters gibt. Dies verhindert das Standardverhalten, abschließende leere Zeichenfolgen aus dem Ergebnisarray auszuschließen.

In der Dokumentation der Methode split() heißt es, dass das Muster bis zu diesem Grenzwert und dem resultierenden Array angewendet wird, wenn der Grenzwert größer als Null ist wird eine Länge haben, die den Grenzwert nicht überschreitet. Wenn die Grenze nicht positiv ist, wird das Muster so oft wie möglich angewendet und das resultierende Array kann eine beliebige Länge haben.

Es ist wichtig zu beachten, dass das Standardverhalten des Ausschließens abschließender leerer Zeichenfolgen nur für leere gilt Zeichenfolgen, die als Ergebnis der Teilungsoperation erstellt werden. Wenn in der Originalzeichenfolge bereits eine leere Zeichenfolge vorhanden ist, wird sie dennoch in das resultierende Array eingefügt.

Indem wir das Verhalten der Methode split() verstehen und den Parameter limit effektiv nutzen, können wir die Einbeziehung steuern oder Ausschluss leerer Werte im resultierenden Array, um sicherzustellen, dass unsere Aufteilungsvorgänge die gewünschten Ergebnisse liefern.

Das obige ist der detaillierte Inhalt vonWie bleiben leere Strings beim Teilen eines Java-Strings erhalten?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage