Menggunakan Jujukan Escape untuk Memisahkan Rentetan Java pada Titik Tersurat
Apabila cuba membelah rentetan Java pada titik tersurat (".") menggunakan kaedah split(), adalah penting untuk melarikan diri dari titik menggunakan urutan melarikan diri "". Tindakan ini diperlukan kerana kaedah split() menganggap titik yang tidak dilepaskan sebagai ungkapan biasa yang sepadan dengan mana-mana aksara, yang boleh membawa kepada hasil yang tidak dijangka.
Sebagai contoh, pertimbangkan kod berikut:
String filename = "D:/some folder/001.docx"; String extensionRemoved = filename.split(".")[0];
Kod ini membuang ArrayIndexOutOfBoundsException kerana rentetan input hanyalah satu titik. Memisahkan titik pada titik menghasilkan tatasusunan kosong, dan memandangkan kaedah split() mengalih keluar rentetan kosong tertinggal daripada hasil, tatasusunan kosong dikembalikan.
Untuk menyelesaikan isu ini, titik itu mesti dilepaskan sebagai berikut:
String extensionRemoved = filename.split("\.")[0];
Dengan menggunakan jujukan melarikan diri "", kami menyatakan bahawa kami ingin membahagikan aksara titik literal, bukan sebarang aksara.
Adalah penting untuk ambil perhatian bahawa garis miring ke belakang berganda diperlukan untuk mencipta garis miring ke belakang tunggal dalam regex, kerana satu garis miring ke belakang dianggap sebagai aksara melarikan diri dalam literal rentetan Java.
Dengan mengikuti pendekatan ini, anda boleh memisahkan rentetan Java dengan berkesan pada titik literal, menghalang ArrayIndexOutOfBoundsExceptions dan memastikan tepat hasil.
Atas ialah kandungan terperinci Bagaimana untuk Memisahkan Rentetan Java pada Titik Tersurat Menggunakan Urutan Escape?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!