如何在字符串中转义双引号?例如,
input: "Nobody"
output: \"Nobody\"
Run Code Online (Sandbox Code Playgroud)
我试过这样的,这是行不通的:
String name = "Nobody";
name.replaceAll("\"", "\\\"");
Run Code Online (Sandbox Code Playgroud)
因为你的字符串"Nobody"中没有任何双引号!
String name = "Nobo\"dy";
name = name.replaceAll("\"", "\\\\\"");
System.out.println(name);
Run Code Online (Sandbox Code Playgroud)
此外,您不需要RegEx来进行这样简单的替换.
试一试
name = name.replace("\"", "\\\"");
Run Code Online (Sandbox Code Playgroud)
adarshr是对的,但是,请注意你忽略了返回的字符串,这样做:
String name = "Nobody";
name = name.replaceAll("\"", "\\\"");
Run Code Online (Sandbox Code Playgroud)
java中的字符串是可以改变的
编辑:自从我写这篇文章以来,adarshr已经改变了他的答案(如果有人想知道为什么我写这个)