Wie de-escape-string in scala?
Fand ich viele Beiträge über Flucht-string aber nicht über de-Flucht ein.
Mit Scala Spielen, mein controller akzeptieren JSON als eine Anfrage. Ich extrahieren eines string aus es über:
val text: play.api.libs.json.JsValue = request.body.\("source")
Wenn ich drucken text.toString
ich bekomme z.B.
"Hello\tworld\nmy name is \"ABC\""
Wie kann ich mich verwandeln diese escaped text in normal? Das Ergebnis sollte Aussehen wie
Hello world
my name is "ABC"
Bis zu diesem Punkt, ich habe versucht, einen Ansatz wie folgt:
replaceAll("""\\t""", "\t")
Allerdings erstellen alle möglichen Flucht-Regeln zu kompliziert sind. Also meine Frage ist: Wie tun Sie das einfach? Eventuell mit standard-Bibliothek. Java-Lösungen sind auch möglich.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Gibt es Interpolationen die es erlauben, Sie zu verwandeln in formatierte Strings und/oder escaped Sequenzen. Diese Interpolationen wie
s"..."
oderf"..."
behandelt werden StringContext.Bietet es auch eine reverse-Funktion:
Dies ist nicht eine Antwort für unescaping strings im Allgemeinen, aber speziell für die Handhabung
JsValue
:Können Sie implementieren, unescape, die in dieser Weise:
oder verwenden Sie
StringEscapeUtils
von Apache Commons Lang (das ist zwar eine ziemlich große Abhängigkeit).\/
ist gültig in JSON, aber nicht in der Scala, octal escapes Umgekehrt).Sollten Sie die unescape-Methode aus scala-standard-Bibliothek.
Hier ist die link zu der Dokumentation finden Sie die Methode, die Sie rechts am Ende der "Value-Mitglieder" Teil.
scala.xml
und ist für unescaping HTML-entities nicht backslash unescaping.