Problem:
Während der Verarbeitung von Java-Quellcode mit Java Sie müssen String-Literale extrahieren, um sie an eine Funktion zu übergeben, die einen String akzeptiert. Sie benötigen jedoch die nicht maskierte Version des Strings, bei der Zeichen wie n in Zeilenumbrüche und in einzelne Zeichen usw. umgewandelt werden.
Frage: Gibt es eine Funktion innerhalb der Java-API, die dies ausführen kann? nicht entkommen?
Antwort: Leider weist die Methode org.apache.commons.lang.StringEscapeUtils.unescapeJava() bestimmte Einschränkungen auf:
Frage: Ist Es gibt eine anpassbare Möglichkeit, diese Funktionalität aus einer Bibliothek abzurufen oder zu schreiben selbst?
Antwort: Ja, Sie können Ihren eigenen String-Unescaper erstellen, der die Einschränkungen des Apache-Codes berücksichtigt. Hier ist ein Beispiel:
// Code provided by user in the answer
Dieser benutzerdefinierte Unescaper bietet:
Durch das Verständnis der Einschränkungen der Java-API für Zeichenfolgen Durch das Escapen und Verwenden benutzerdefinierter Lösungen wie das bereitgestellte Beispiel können Sie eine robuste Entmaskierung von String-Literalen für Ihre spezifischen Verarbeitungsanforderungen erreichen.
Das obige ist der detaillierte Inhalt vonSo entfernen Sie Java-String-Literale: Java-API oder benutzerdefinierte Lösung?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!