Rumah > Java > javaTutorial > teks badan

Bagaimana untuk Memisahkan Rentetan Java dengan Betul Menggunakan Titik (.) sebagai Pembatas?

Mary-Kate Olsen
Lepaskan: 2024-11-27 18:18:10
asal
551 orang telah melayarinya

How to Correctly Split a Java String Using a Dot (.) as a Delimiter?

Java String Split with Dot (.)

Di Java, kaedah split() biasanya digunakan untuk memecahkan rentetan berdasarkan pembatas tertentu. Walau bagaimanapun, apabila cuba memisahkan rentetan pada titik literal (.), pengaturcara menghadapi ralat berikut:

fileName.split(".")[0];
ArrayIndexOutOfBoundsException
Salin selepas log masuk

Untuk memahami punca pengecualian ini, kita mesti menyelidiki regex. Titik (.) ialah metacharacter dalam regex yang sepadan dengan mana-mana aksara. Oleh itu, menggunakan titik tersurat tanpa melepaskannya mengakibatkan tingkah laku terbelah yang tidak disengajakan.

Pendekatan yang betul ialah melepaskan titik itu menggunakan garis serong ke belakang () untuk memastikan ia ditafsirkan sebagai aksara literal:

fileName.split("\.")[0];
Salin selepas log masuk

Ini memastikan bahawa rentetan dipisahkan secara khusus pada aksara titik literal, bukannya mana-mana aksara lain.

Isu lain yang mungkin arise ialah ArrayIndexOutOfBoundsException apabila rentetan input hanya terdiri daripada titik (.). Untuk mengelakkan kes tepi ini, gunakan versi terlampau beban split() dengan parameter had ditetapkan kepada nilai negatif:

fileName.split("\.", -1)[0];
Salin selepas log masuk

Menetapkan had kepada nilai negatif menyahdayakan kelakuan mengalih keluar kosong mengekor daripada tatasusunan yang terhasil , memastikan bahawa walaupun rentetan input hanyalah titik, tatasusunan dengan dua kosong dikembalikan:

".".split("\.", -1) // [""," "]
Salin selepas log masuk

Dengan mengikuti pendekatan ini, anda boleh memisahkan rentetan Java pada aksara titik dengan berkesan sambil mengelakkan kemungkinan pengecualian.

Atas ialah kandungan terperinci Bagaimana untuk Memisahkan Rentetan Java dengan Betul Menggunakan Titik (.) sebagai Pembatas?. 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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan