Rumah > Java > javaTutorial > Bagaimana untuk Menyingkirkan Java String Literal?

Bagaimana untuk Menyingkirkan Java String Literal?

Linda Hamilton
Lepaskan: 2024-12-22 17:51:10
asal
903 orang telah melayarinya

How to Unescape Java String Literals?

Bagaimanakah untuk Menyingkirkan Rentetan Java Literal dalam Java?

Java tidak menyediakan fungsi yang mudah untuk tidak melepaskan literal rentetan. Tugasan ini memerlukan menukar urutan melarikan diri aksara secara manual kepada aksara yang sepadan.

Meloloskan Watak Biasa

Escape Sequence Character
Backslash
n Newline
r Carriage return
t Tab
b Backspace
f Form feed
" Double quote
' Single quote

Huruf Rentetan yang Tidak Terhindar

Satu pendekatan untuk melepaskan literal rentetan ialah menggunakan fungsi tersuai yang berulang melalui rentetan, mengenal pasti urutan melarikan diri dan menggantikannya dengan aksara yang sesuai.

public static String unescape(String str) {
    StringBuilder sb = new StringBuilder();
    for (int i = 0; i < str.length(); i++) {
        char c = str.charAt(i);
        if (c == '\') {
            i++;
            switch (str.charAt(i)) {
                case 'n':
                    sb.append('\n');
                    break;
                case 'r':
                    sb.append('\r');
                    break;
                case 't':
                    sb.append('\t');
                    break;
                case 'b':
                    sb.append('\b');
                    break;
                case 'f':
                    sb.append('\f');
                    break;
                case '\"':
                    sb.append('\"');
                    break;
                case '\'':
                    sb.append('\'');
                    break;
                case '\':
                    sb.append('\');
                    break;
                default:
                    sb.append(c); // Unrecognized escape sequence
            }
        } else {
            sb.append(c);
        }
    }
    return sb.toString();
}
Salin selepas log masuk

Contoh:

String original = "\\"Hello, World!\\"";
String unescaped = unescape(original);
System.out.println(unescaped); // Output: "Hello, World!"
Salin selepas log masuk

Libraries for String Unnescaping

Sesetengah pustaka pihak ketiga juga menyediakan fungsi untuk tidak melepaskan literal rentetan. Contohnya, pustaka Apache Commons Lang mempunyai kaedah berikut:

public static String unescapeJava(String str)
Salin selepas log masuk

Kaedah ini boleh digunakan untuk melepaskan literal rentetan Java, termasuk jujukan melarikan diri yang tidak diliputi oleh pendekatan asas yang disebutkan di atas.

Atas ialah kandungan terperinci Bagaimana untuk Menyingkirkan Java String Literal?. 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