我有一個帶單引號的字符串。我想用2個單引號替換單引號。 我嘗試使用用另一個單引號替換字符串中的單引號
String s="Kathleen D'Souza";
s.replaceAll("'","''");
s.replaceAll("\'","\'\'");
s.replace("'","''");
s.replace("\'","\'\'");
但單引號是沒有得到與2個單引號代替。
我有一個帶單引號的字符串。我想用2個單引號替換單引號。 我嘗試使用用另一個單引號替換字符串中的單引號
String s="Kathleen D'Souza";
s.replaceAll("'","''");
s.replaceAll("\'","\'\'");
s.replace("'","''");
s.replace("\'","\'\'");
但單引號是沒有得到與2個單引號代替。
Strings
是不可變的。的replaceAll
結果分配給您的String
:
s = s.replaceAll("'","''");
重新分配替換字符串s
String s="Kathleen D'Souza";
s = s.replaceAll("'","''");
String s="Kathleen D'Souza";
s= s.replace("'", "''");
嘗試字符串替換#()。它將取代所有出現的單雙''。
請嘗試 s =「test'test」;
`s.replaceAll("'","\"");` => test " test
`s.replaceAll("'","''");` => test '' test
注意事項,給定的解決方案連續單引號將增加一倍,所以凱瑟琳D'「索薩變成凱瑟琳·d」「」'索薩。 (我已經看到用戶像這樣智勝自己。)如果這是你關心的事情,你可以匹配連續單引號:
s = s.replaceAll("''*","''");
爲什麼?我總是非常懷疑這樣的問題。我通常會發現他們想做一些不需要做的事情。 – EJP 2013-02-22 09:13:17
在休眠查詢中使用它之前,我需要轉義單引號。多數民衆贊成在原因是試圖取代2個單引號 – Vidya 2013-02-27 13:19:38
@EJP這是一個非常合法的問題。轉義SQL查詢總是一件好事。在此之前,有人可以採用更好的技術來自動轉義,只能進行字符串替換。 OWASP前10名。 – Brain2000 2015-02-25 17:37:45