Wie kann ich in Java das Escapezeichen für ein Java-String-Literal aufheben?
Java bietet keine einfache Funktion zum Aufheben des Escapezeichens für String-Literale. Für diese Aufgabe müssen Zeichen-Escape-Sequenzen manuell in die entsprechenden Zeichen konvertiert werden.
Gemeinsame Zeichen-Escapezeichen
Escape Sequence | Character |
---|---|
Backslash | |
n | Newline |
r | Carriage return |
t | Tab |
b | Backspace |
f | Form feed |
" | Double quote |
' | Single quote |
Zeichenkettenliterale aufheben
Ein Ansatz zum Demaskieren von Zeichenfolgenliteralen besteht darin, eine benutzerdefinierte Funktion zu verwenden, die die Zeichenfolge durchläuft, Escape-Sequenzen identifiziert und diese ersetzt mit den entsprechenden Zeichen.
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(); }
Beispiel:
String original = "\\"Hello, World!\\""; String unescaped = unescape(original); System.out.println(unescaped); // Output: "Hello, World!"
Bibliotheken für String Unescaping
Einige Dritt- Party-Bibliotheken bieten auch Funktionen zum Demaskieren von String-Literalen. Die Apache Commons Lang-Bibliothek verfügt beispielsweise über die folgende Methode:
public static String unescapeJava(String str)
Diese Methode kann verwendet werden, um Java-String-Literale zu demaskieren, einschließlich Escape-Sequenzen, die nicht durch den oben genannten grundlegenden Ansatz abgedeckt werden.
Das obige ist der detaillierte Inhalt vonWie entferne ich Java-String-Literale?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!