String[] split = data.split("\\|",-1);
Dies ist nicht immer die eigentliche Anforderung. Der Nachteil von oben ist unten gezeigt:
Scenerio 1:
When all data are present:
String data = "5|6|7||8|9|10|";
String[] split = data.split("\\|");
String[] splt = data.split("\\|",-1);
System.out.println(split.length); //output: 7
System.out.println(splt.length); //output: 8
Wenn Daten fehlen:
Scenerio 2: Data Missing
String data = "5|6|7||8|||";
String[] split = data.split("\\|");
String[] splt = data.split("\\|",-1);
System.out.println(split.length); //output: 5
System.out.println(splt.length); //output: 8
Die tatsächliche Anforderung ist, dass die Länge 7 betragen sollte, obwohl Daten fehlen. Weil es Fälle gibt, in denen ich in eine Datenbank oder etwas anderes einfügen muss. Wir können dies erreichen, indem wir den folgenden Ansatz verwenden.
String data = "5|6|7||8|||";
String[] split = data.split("\\|");
String[] splt = data.replaceAll("\\|$","").split("\\|",-1);
System.out.println(split.length); //output: 5
System.out.println(splt.length); //output:7
Was ich hier getan habe ist, ich entferne "|" Rohr am Ende und dann den String teilen. Wenn Sie "," als Trennzeichen haben, müssen Sie ", $" in replaceAll hinzufügen.