Rumah > Java > javaTutorial > Bagaimanakah Saya Boleh Memisahkan Rentetan Java dan Menyimpan Semua Nilai Kosong, Termasuk Yang Terikut?

Bagaimanakah Saya Boleh Memisahkan Rentetan Java dan Menyimpan Semua Nilai Kosong, Termasuk Yang Terikut?

DDD
Lepaskan: 2024-12-20 19:50:24
asal
803 orang telah melayarinya

How Can I Split a Java String and Keep All Empty Values, Including Trailing Ones?

Memisahkan Rentetan Java Tanpa Mengalih Keluar Nilai Kosong

Apabila cuba memisahkan rentetan Java menggunakan kaedah split(String regex), seseorang mungkin menjangkakan untuk mengekalkan nilai kosong dalam tatasusunan yang terhasil, terutamanya jika nilai tersebut berada di mana-mana dalam rentetan. Walau bagaimanapun, secara lalai, kaedah pemisahan mengalih keluar nilai kosong mengekor daripada tatasusunan output.

Pertimbangkan kod berikut:

String data = "5|6|7||8|9||";
String[] split = data.split("\|");
System.out.println(split.length);
Salin selepas log masuk

Dalam contoh ini, kami menjangkakan untuk memperoleh lapan nilai dalam pemisahan tatasusunan, termasuk rentetan kosong: [5, 6, 7, EMPTY, 8, 9, EMPTY, EMPTY]. Walau bagaimanapun, kami tiba-tiba berakhir dengan hanya enam nilai disebabkan oleh pengalihan keluar rentetan kosong yang mengekori secara automatik.

Untuk menyelesaikan isu ini, kami boleh memanfaatkan kaedah pemisahan (String regex, had int) terlampau beban, di mana had ditetapkan kepada nilai negatif. Ini mengarahkan kaedah untuk mengelak daripada mengalih keluar rentetan kosong yang mengekori.

String[] split = data.split("\|", -1);
Salin selepas log masuk

Dengan menggunakan versi terlampau beban, kami mengatasi gelagat lalai dan mengekalkan semua nilai kosong dalam tatasusunan pisah, tanpa mengira kedudukannya.

Wawasan Tambahan

Adalah penting untuk ambil perhatian bahawa tingkah laku lalai untuk mengalih keluar rentetan kosong mengekori hanya terpakai apabila rentetan kosong tersebut dijana hasil daripada proses pemisahan. Ini bermakna jika rentetan kosong wujud dalam rentetan input asal (cth., "".split(apa-apa sahaja)), ia akan kekal dalam tatasusunan yang terhasil kerana ia tidak diperkenalkan oleh mekanisme pemisahan.

Berbutir ini pemahaman tentang gelagat kaedah split memastikan bahawa pembangun mempunyai kawalan yang lebih besar ke atas kandungan tatasusunan output mereka apabila berurusan dengan nilai yang berpotensi kosong.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Memisahkan Rentetan Java dan Menyimpan Semua Nilai Kosong, Termasuk Yang Terikut?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan