我怎样才能避免字符串中的双引号? 对于例如,java:用“”替换“”
input: "Nobody"
output: \"Nobody\"
我试过某事像这样,这是行不通的:
String name = "Nobody";
name.replaceAll("\"", "\\\"");
我怎样才能避免字符串中的双引号? 对于例如,java:用“”替换“”
input: "Nobody"
output: \"Nobody\"
我试过某事像这样,这是行不通的:
String name = "Nobody";
name.replaceAll("\"", "\\\"");
因为你的字符串“没有人”没有在任何双引号!
String name = "Nobo\"dy";
name = name.replaceAll("\"", "\\\\\"");
System.out.println(name);
此外,您不需要使用RegEx进行这种简单替换。
试试看
name = name.replace("\"", "\\\"");
对不起,我的道歉:字符串是这样的:String name =“”Nobody“”; – Arjun 2011-03-24 10:28:49
adarshr是正确的,而且,你是忽略了返回的字符串的通知,像这样做:
String name = "Nobody";
name = name.replaceAll("\"", "\\\"");
字符串在Java是imutable
编辑:自从我写这篇文章以来,adarshr已经将他的答案改变得更好了(如果有人想知道我为什么写这个)
看看http://www.bradino.com/javascript/string-replace/,因为它提供了全部替换的提示。
你可以做一用:
变种名称= ' “没有”'; name = name.replace(“\”“,”\\“”);
问候
AJ
以何种方式是不工作?请记住,在'String name =“Nobody”中,双引号实际上并不是字符串的一部分,它们只是分隔符。 – NPE 2011-03-24 10:25:16
对不起,我的道歉:字符串是这样的:String name =“”Nobody“”; – Arjun 2011-03-24 10:28:27
这不是正确的语法,我怀疑你的意思是'String name =“\”Nobody \“”;',这会导致输出“Nobody”。 – Thomas 2011-03-24 10:31:44