如何在java中强制转义字符
我有一个带有转义字符的字符串,当打印该字符串时,会生成另一个带有有效转义字符的字符串。如何检索与打印第一个字符串时的字符串相似的字符串 以下是代码-初始字符串如下所示:如何在java中强制转义字符,java,string,escaping,Java,String,Escaping,我有一个带有转义字符的字符串,当打印该字符串时,会生成另一个带有有效转义字符的字符串。如何检索与打印第一个字符串时的字符串相似的字符串 以下是代码-初始字符串如下所示: String string = "{\"agent\":\"{\\\"name\\\":\\\"James Bond\\\"}\"}"; System.out.println("str: "+string); 执行代码将产生 str: {"agent":"{\"name\":\"James Bond\"}"} 我要获取输出中
String string = "{\"agent\":\"{\\\"name\\\":\\\"James Bond\\\"}\"}";
System.out.println("str: "+string);
执行代码将产生
str: {"agent":"{\"name\":\"James Bond\"}"}
我要获取输出中显示的字符串。您可以从中使用
stringescapeJava(string)
方法StringEscapeUtils
例如:
String in = "a\\tb\\n\\\"c\\\"";
System.out.println(in);
//This prints
// a\tb\n\"c\"
String out = StringEscapeUtils.unescapeJava(in);
System.out.println(out);
//This prints
// a b
// "c"
你可以在上看到更多,我想你正在寻找
String a="\"agent\":\"{\\\"name\\\":\\\"James Bond\\\"}q\"";
a=a.replace("\\", "\\\\");
a=a.replace("\"","\\\"");
这个字符串在输出中是如何显示的?为什么
\\\\“name\\\”
而不是\“name\\”
?我想你可以简单地用\“and\”替换所有的“and\”。为此,请使用string.replace。您希望如何打印字符串?你能举个例子吗?为什么你试图手动编写/解析json?这方面有很多库。第二段代码显示了字符串在输出中的显示方式。当我遇到这个问题时,我正在与JSON合作。