Rumah >Java >javaTutorial >Bagaimana untuk melarikan diri dari garis miring ke belakang dengan betul dalam rentetan Java?

Bagaimana untuk melarikan diri dari garis miring ke belakang dengan betul dalam rentetan Java?

DDD
DDDasal
2024-11-30 10:48:11464semak imbas

How to Properly Escape Backslashes in Java Strings?

Melepaskan Garis Segaris Belakang dalam Rentetan

Apabila cuba menukar rentetan seperti "sesuatu" kepada "sesuatu" menggunakan kaedah replaceAll(), anda mungkin menghadapi ralat kerana salah tafsiran watak sengkang terbalik.

Isu timbul kerana sengkang terbalik () ialah watak melarikan diri dalam kedua-dua rentetan dan ungkapan biasa. Untuk melarikannya dengan betul dalam ungkapan biasa untuk digunakan dengan replaceAll(), anda perlu melarikannya dua kali:

theString.replaceAll("\\", "\\\\");

Walau bagaimanapun, kaedah ini menganggap anda menggunakan ungkapan biasa untuk padanan corak. Jika matlamat anda hanyalah penggantian aksara demi aksara, anda boleh menggunakan kaedah replace() sebagai ganti:

string.replace("\", "\\");

Ini akan melakukan pertukaran tepat bagi garis miring ke belakang tanpa melibatkan ungkapan biasa.

Nota untuk Konteks JavaScript

Jika rentetan anda bertujuan untuk digunakan dalam konteks JavaScript, pertimbangkan untuk menggunakan StringEscapeUtils#escapeEcmaScript() untuk melepaskan aksara khas tambahan untuk keselamatan:

StringEscapeUtils.escapeEcmaScript(string);

Atas ialah kandungan terperinci Bagaimana untuk melarikan diri dari garis miring ke belakang dengan betul dalam rentetan Java?. 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