Menggantikan Garis Segaris Belakang Tunggal dengan Segaris Belakang Berganda dalam Rentetan
Apabila cuba menggunakan replaceAll untuk menukar rentetan seperti "sesuatu" kepada "sesuatu", pembangun sering menghadapi ralat. Pendekatan biasa menggunakan kaedah replaceAll("", "\") menghasilkan pengecualian "java.util.regex.PatternSyntaxException: Ralat dalaman tidak dijangka berhampiran indeks 1". Ini berlaku kerana aksara sengkang ke belakang () dianggap sebagai aksara melarikan diri dalam rentetan dan dalam ungkapan biasa. Untuk menangani perkara ini, elakkan garis sembang belakang dalam ungkapan biasa dengan menggandakannya:
string.replaceAll("\\", "\\\\");
Walau bagaimanapun, regex tidak semestinya diperlukan di sini. Memandangkan kami hanya mahu melakukan penggantian aksara demi aksara, String#replace() boleh mencukupi:
string.replace("\", "\\");
Perhatikan bahawa jika rentetan bertujuan untuk digunakan dalam konteks JavaScript, ia mungkin lebih sesuai untuk menggunakan StringEscapeUtils#escapeEcmaScript() untuk merangkumi julat aksara yang lebih luas.
Atas ialah kandungan terperinci Bagaimana untuk Menggantikan Segaris Belakang Tunggal dengan Segaris Belakang Berganda dalam Rentetan Java?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!