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

How to Unescape Java String Literals?

Linda Hamilton
Release: 2024-12-22 17:51:10
Original
966 people have browsed it

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

Example:

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

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)
Copy after login

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!

source:php.cn
Statement of this Website
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
Latest Articles by Author
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template