replace與replaceAll遇到轉義字元時的區別
我們都知道replaceAll(regex,String)在進行字串替換時會首先匹配正則表示式,而replace則沒有這方面的規定。轉義字元同樣屬於正則的一種,今天遇到個問題,將sql:“SELECT PARAM1,PARAM2,TO_CHAR(PARAM3,'YYYY-MM-DD HH24:MI:SS') AS P3 FROM TABLE”中的欄位部分替換成"PARAM4,PARAM5",我使用的replaceAll,無論如何都無法替換。
經過debug發現在遇到單引號時自動添加了 ‘ \" ’進行轉義,所以我猜測該方法使用了正則替換,才沒有成功,各位小夥伴遇到相同的問題時不妨用這種方法檢視下是不是程式自動將特殊字元進行了轉義。
解決方法,最後使用replace可以正常替換。
相關推薦
replace與replaceAll遇到轉義字元時的區別
我們都知道replaceAll(regex,String)在進行字串替換時會首先匹配正則表示式,而replace則沒有這方面的規定。轉義字元同樣屬於正則的一種,今天遇到個問題,將sql:“SELECT PARAM1,PARAM2,TO_CHAR(PARAM3,'YYYY-MM-DD HH24:M
replace與replaceAll的區別
post 正則表達 數字 gpo 字符串序 字符串的替換 blog first 轉換 這兩者有些人很容易搞混,因此我在這裏詳細講述下。 replace的參數是char和CharSequence,即可以支持字符的替換,也支持字符串的替換(CharSequence即字符串序列的
java中String字串的替換函式:replace與replaceAll的區別
1>replace的引數是char和CharSequence,既可以支援字元替換,也可以支援字串替換。 2>replaceall引數是regex, replacement,regex表示是正則表示式。 replace : String src = new Strin
iOS URL中含有中文和轉義字元時的處理
今天發現一個蛋疼的問題,服務端返回的urlString裡面有時含有中文,使用 [NSURLURLWithString:urlString]生成URL物件時,iOS客戶端不能正確進行網路請求,網上找到的URLEncode方法又不能完全解決問題. 方法1: NSS
python與sqlite處理中文字元時出現的編碼錯誤問題解決
python編碼如果把中文資料儲存至sqlite資料庫某一欄位中,再通過查詢語句取出並進行相關的字串操作時,經常會出現錯誤提示,類似於UnicodeDecodeError,提示某一型別編碼不能轉換。 出現這個問題的原因是因為python預設使用unicod
java 字串替換 replace與replaceAll
replace與replaceAll方法都是用來替換字串的。 首先,我們先比較一下這兩種函式的效能: 示例: public class StringReplaceEmp{ public sta
JAVA中REPLACE和REPLACEALL的區別 以及一些特殊字元替換
replace和replaceAll是JAVA中常用的替換字元的方法,它們的區別是: 1)replace的引數是char和CharSequence,即可以支援字元的替換,也支援字串的替換(CharSequence即字串序列的意思,說白了也就是字串); 2)replaceAll的引數是regex,即基於規
Unicode與ASCiI之間有什麽區別?java當中的轉義字符 Character類的使用 String類的使用
charat and pac sca sdi change con 輸入 ack ASCII碼 稱為 美國標準信息交換碼 (American standard code of Information Interchange) 其中一共有多少個碼?2的7次冪 128個 Un
投保時的健康告知-網銷與線下銷售中的區別
投保時如果忽略健康告知或者未如實告知,理賠時可能會有各種麻煩。 投保時務必如實填寫健康告知 未如實告知時,保險合同可以無效 保險法上有個【兩年不可抗辯條款】,很多人(甚至是保險代理人或經紀人)會拿這個條款作為尚方寶劍,認為只要保險公司在兩年內沒有發現被保人的身體問題,保險公司
八進位制轉義字元與十六進位制轉義字元
一般形式 在C中有兩種特殊的字元,八進位制轉義字元和十六進位制轉義字元,八進位制字元的一般形式是'\ddd',d是0-9的數字。十六進位制字元的一般形式是'\xhh',h是0-9或A-F內的一個。八進位制字元和十六進位制字元表示的是字元的ASCII碼對應的數值。比如 '\063'表示的是字元
JAVA字串替換replace、replaceAll、replaceFirst之間區別詳解
String的replaceAll跟replaceFirst用到了正則表示式 String s = "my.test.txt"; System.out.println(s.replace(".", "#")); System.out.println(s.replaceAll
PHP中if(isset($_POST['Submit']))是什麼意思,php提交表單時判斷 if($_POST[submit])與 if(isset($_POST[submit])) 的區別
isset -- 檢測變數是否設定 判斷post過來的資料是否被提交過來,if(isset($_POST["submit"]){ echo "提交過來了"; }else { echo "submit is no come~"; } if(isset($_
C#字元型別轉換與常用的轉義符
常用的轉義符 顯示符號,需要新增\+特殊字元,顯示出來 \為轉義符(在要顯示的每個符號前都加上\) \+特殊字元,就可以在執行時顯示這個特殊字元
【學習筆記】JAVA中replace和replaceAll的區別
replaceAll()&&replace區別: 1、replaceA(regex,replace)引數是regex,是基於正則表示式的替換; 2、replace(oldChar, newChar)可以支援字元的替換,也可以支援字串的替換; PS
8進位制轉義字元與16進位制轉義字元的相關問題
8進位制轉義字元:\ddd 16進位制轉義字元:\xddd。一般給出的是2位16進位制,但實際上是三位。但因為第三位沒有實際意義,所以通常省略。 如果結果值超出的表示字元的範圍,此時結果就是未定義的(字元)。在vs中就會出現C2022錯誤,gcc會給出警告。 #defi
git拉程式碼時, https git clone與ssh git clone之間的區別
首先看一下兩種使用方法的面相: https git clone是長這樣的: https://gitee.com/hillmay/catmiao.git ssh git clone是長這樣的: [email
Shell在計算包含轉義字元(\)的字元長度時的驗證說明
前面的一篇文章《[Linux]如何在Shell指令碼中計算字串長度?》介紹瞭如何使用Shell計算字元長度,但小魔發現當字串中包含轉義字元\時,文章所提供的幾種方法會將轉義字元統計在內,通過我在環境中的測試,先直接給出驗證結論: 1. 若轉義字元\後跟隨的是特殊字元,例如:$,那麼在計算字串長度時,
replace、replaceAll、replaceFirst區別
public class Replace { public static void main(String[] args) { String s = "my.test.txt";
iOS網址識別url中包含有特殊字元時需要轉義
url = [NSString stringWithFormat:@"http://%@",self.selectedStr]; NSString *encodedString = (NSString *)CFBridgingRelease(CFURLCreateSt
java中PreparedStatement解決需轉義字元向資料庫中插入時的轉義問題
簡單的執行如下語句去做資料庫的插入操作是有問題的!它處理不了單引號,雙引號等需要轉義的字元的插入問題! String sql = "insert into emailOriginal(id,date,subject,source,target" +") value(\""