String[] split = data.split("\\|",-1);
Ini bukan persyaratan aktual sepanjang waktu. Kekurangan di atas ditunjukkan di bawah ini:
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
Ketika data hilang:
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
Persyaratan sebenarnya adalah panjang harus 7 meskipun ada data yang hilang. Karena ada kasus-kasus seperti ketika saya perlu memasukkan dalam database atau sesuatu yang lain. Kita dapat mencapai ini dengan menggunakan pendekatan di bawah ini.
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
Apa yang saya lakukan di sini adalah, saya menghapus "|" pipa di ujung lalu pisahkan String. Jika Anda memiliki "," sebagai pemisah maka Anda perlu menambahkan ", $" di dalam replaceAll.