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

Bagaimana untuk Menyingkirkan Java String Literal?

Linda Hamilton
Linda Hamiltonasal
2024-12-22 17:51:10984semak imbas

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();
}

Contoh:

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

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)

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!

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