我有一个这样的字符串:
private String jsonString = "{\\\"test\\\":\\\"value \\\\\\\"ciao\\\\\\\" \\\"}"
在运行时,这应该是:{\"test\":\"value \\\"ciao\\\" \"}现在我只想删除第一级的转义并留下嵌套的转义。结果应为:{"test":"value \"ciao\" "}我该怎么做?是否可以使用replace()或replaceAll()之类的方法?
{\"test\":\"value \\\"ciao\\\" \"}
{"test":"value \"ciao\" "}
replace()
replaceAll()
2g32fytz1#
您可以使用 *String#sampleEscapes * 方法。
String s = "{\\\"test\\\":\\\"value \\\\\\\"ciao\\\\\\\" \\\"}"; s = s.translateEscapes();
输出
l7wslrjt2#
你可以这样使用replaceAll():
public class Main { public static void main(String[] args) { String jsonString = "{\\\"test\\\":\\\"value \\\\\\\"ciao\\\\\\\" \\\"}"; String unescapedString = jsonString.replaceAll("\\\\\\\\", "\\\\").replaceAll("\\\\\\\"", "\""); System.out.println(unescapedString); } }
2条答案
按热度按时间2g32fytz1#
您可以使用 *String#sampleEscapes * 方法。
输出
l7wslrjt2#
你可以这样使用
replaceAll()
: