Rumah >Java >javaTutorial >Bagaimanakah Saya Boleh Mengekalkan Rentetan Kosong Apabila Memisahkan Rentetan di Jawa?

Bagaimanakah Saya Boleh Mengekalkan Rentetan Kosong Apabila Memisahkan Rentetan di Jawa?

Barbara Streisand
Barbara Streisandasal
2024-12-28 04:59:09233semak imbas

How Can I Preserve Empty Strings When Splitting Strings in Java?

Memisahkan Rentetan dengan Nilai Kosong Terpelihara dalam Java

Apabila melakukan pemisahan rentetan menggunakan kaedah String.split(), tingkah laku yang tidak dijangka berlaku apabila pembatas berturut-turut mengakibatkan nilai kosong dialih keluar daripada tatasusunan yang terhasil. Walau bagaimanapun, jangkaan mungkin untuk mengekalkan nilai kosong ini untuk mengekalkan susunan dan struktur asal data.

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

Dalam contoh ini, dengan kaedah "split()" lalai, hanya enam nilai dikembalikan : [5, 6, 7, 8, 9, KOSONG]. Untuk mengekalkan nilai kosong, versi terlampau beban split() yang mengambil parameter had boleh digunakan. Dengan menetapkan had kepada nilai negatif, nilai kosong dikekalkan.

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

Dokumentasi untuk split(regex, had) menyatakan bahawa apabila had bukan positif, corak akan digunakan seberapa banyak kali yang mungkin, membenarkan tatasusunan yang terhasil mempunyai sebarang panjang, dan rentetan kosong yang mengekori akan menjadi dibuang.

Pengecualian:

Adalah penting untuk ambil perhatian bahawa mengalih keluar rentetan kosong mengekor hanya masuk akal jika rentetan kosong tersebut dibuat semasa proses pemisahan. Contohnya, membelah rentetan kosong ("") dengan sebarang pembatas akan menghasilkan tatasusunan yang mengandungi rentetan kosong: ["", ""]. Ini kerana tiada pemisahan untuk dilakukan, jadi rentetan asal itu sendiri diwakili sebagai rentetan kosong dalam tatasusunan.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengekalkan Rentetan Kosong Apabila Memisahkan Rentetan di Jawa?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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