Melepaskan Watak Meta Regex untuk Pemisahan Rentetan
Apabila bekerja dengan ungkapan biasa dalam kaedah split() Java, adalah penting untuk mempertimbangkan makna istimewa aksara tertentu yang biasa digunakan dalam sintaks ungkapan biasa. Satu aksara sedemikian ialah noktah (.), yang mewakili mana-mana aksara.
Dalam kod yang diberikan, nama fail.split(".") cuba memisahkan nama fail rentetan pada noktah. Walau bagaimanapun, memandangkan tempoh itu ditafsirkan sebagai aksara meta regex, hasilnya mungkin tidak seperti yang diharapkan.
Untuk menyelesaikan isu ini, adalah perlu untuk melepaskan tempoh menggunakan "" untuk menunjukkan bahawa ia harus dianggap sebagai aksara literal dan bukannya aksara meta.
Kod Dibetulkan:
Kod pelarasan berikut berpecah dengan betul nama fail rentetan pada noktah dan mendapatkan semula bahagian pertama:
String[] fn = filename.split("\."); return fn[0];
Dengan menggunakan ".", kami secara berkesan melarikan diri daripada noktah dan mengarahkan kaedah split() untuk mentafsirkannya sebagai aksara literal untuk pemisahan rentetan. Ini memastikan rentetan dipisahkan pada setiap noktah, membolehkan anda mengakses bahagian yang diingini (iaitu, bahagian pertama dalam kes ini).
Atas ialah kandungan terperinci Bagaimana Saya Melarikan Diri dengan Benar Metacharacters Regex dalam Kaedah `split()` Java?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!