Aufteilen von Zeichenfolgen mit beibehaltenen leeren Werten in Java
Beim Durchführen der Zeichenfolgenaufteilung mit der Methode String.split() tritt ein unerwartetes Verhalten auf Aufeinanderfolgende Trennzeichen führen dazu, dass leere Werte aus dem resultierenden Array entfernt werden. Es kann jedoch erwartet werden, dass diese leeren Werte beibehalten werden, um die ursprüngliche Reihenfolge und Struktur der Daten beizubehalten.
String data = "5|6|7||8|9||"; String[] split = data.split("\|"); System.out.println(split.length);
In diesem Beispiel werden mit der Standardmethode „split()“ nur sechs Werte zurückgegeben : [5, 6, 7, 8, 9, LEER]. Um die leeren Werte beizubehalten, kann die überladene Version von split() verwendet werden, die einen Grenzwertparameter akzeptiert. Durch Festlegen des Grenzwerts auf einen negativen Wert bleiben leere Werte erhalten.
String[] split = data.split("\|", -1);
In der Dokumentation für „split(regex, limit)“ heißt es, dass das Muster genauso oft angewendet wird, wenn der Grenzwert nicht positiv ist wie möglich, sodass das resultierende Array eine beliebige Länge haben kann und dass nachfolgende leere Zeichenfolgen vorhanden sind verworfen.
Ausnahme:
Es ist wichtig zu beachten, dass das Entfernen abschließender leerer Zeichenfolgen nur dann sinnvoll ist, wenn diese leeren Zeichenfolgen während des Aufteilungsvorgangs erstellt wurden. Wenn Sie beispielsweise eine leere Zeichenfolge („“) mit einem beliebigen Trennzeichen aufteilen, entsteht ein Array mit einer leeren Zeichenfolge: [““, „“]. Dies liegt daran, dass keine Aufteilung durchgeführt werden muss, sodass die ursprüngliche Zeichenfolge selbst als leere Zeichenfolge im Array dargestellt wird.
Das obige ist der detaillierte Inhalt vonWie kann ich leere Strings beim Teilen von Strings in Java beibehalten?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!