Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在java中强制转义字符_Java_String_Escaping - Fatal编程技术网

如何在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合作。