Home >Java >javaTutorial >How to Unescape Java String Literals?

How to Unescape Java String Literals?

Linda Hamilton
Linda HamiltonOriginal
2024-12-22 17:51:10907browse

How to Unescape Java String Literals?

How to Unescape a Java String Literal in Java?

Java doesn't provide a straightforward function for unescaping string literals. This task requires manually converting character escape sequences into their corresponding characters.

Common Character Escapes

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

Unescaping String Literals

One approach to unescape string literals is to use a custom function that iterates through the string, identifying escape sequences, and replacing them with the appropriate characters.

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

Example:

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

Libraries for String Unescaping

Some third-party libraries also provide functions for unescaping string literals. For example, the Apache Commons Lang library has the following method:

public static String unescapeJava(String str)

This method can be used to unescape Java string literals, including escape sequences not covered by the basic approach mentioned above.

The above is the detailed content of How to Unescape Java String Literals?. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn