Heim > Java > javaLernprogramm > Wie kann man Java-String-Literale richtig entescapen?

Wie kann man Java-String-Literale richtig entescapen?

Barbara Streisand
Freigeben: 2024-12-21 02:50:09
Original
168 Leute haben es durchsucht

How to Properly Unescape Java String Literals?

Wie entescape ich ein Java-String-Literal in Java?

Das Problem

Das Extrahieren von String-Literalen aus Java-Quellcode und deren Verwendung in einer Funktion ist erforderlich Übergeben der nicht maskierten Version des Literals. Dazu gehört das Konvertieren von Escape-Sequenzen wie n in eine neue Zeile und in eine einzelne .

Unescaping-Funktionen

1. Apache Commons Lang org.apache.commons.lang.StringEscapeUtils.unescapeJava()

Obwohl diese Funktion existiert, weist sie mehrere Einschränkungen auf:

  • Ignoriert für null
  • Oktale werden nicht verarbeitet
  • Kann nicht regex-konform verarbeitet werden Escapezeichen wie a, e und cX
  • Bietet keine Unterstützung für logische Unicode-Codepunkte nach Nummer
  • Verwendet UCS-2-Code anstelle von UTF-16-Code

2. Benutzerdefinierter Unescaper

Eine alternative Lösung ist eine benutzerdefinierte Funktion, die die Einschränkungen des Apache-Codes behebt:

public static final String unescape_perl_string(String oldstr) {
    /* ... Code ... */
}
Nach dem Login kopieren

Diese Funktion bietet umfassende Unescaping-Funktionen, einschließlich:

  • Standard-Escapezeichen (a, e, f, n, r, t)
  • Oktal Escapezeichen ( , N, NN, N, NN, NNN)
  • Steuerzeichen (?cX)
  • Alte Hex-Escapezeichen (xXX)
  • Perl-Hex-Escapezeichen (!x{ XXX})
  • Nicht unterstützte Escapes (b wird durchlaufen)

Das obige ist der detaillierte Inhalt vonWie kann man Java-String-Literale richtig entescapen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage