我怎樣才能避免字符串中的雙引號? 對於例如,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