Java 實(shí)現(xiàn)repalceAll只替換第二個(gè)匹配到的字符串
String replace replaceFirst repaceAll區(qū)別
replace(char oldChar, char newChar)
返回一個(gè)新的字符串,它是通過(guò)用 newChar 替換此字符串中出現(xiàn)的所有 oldChar 得到的。
replaceAll(String regex, String replacement)
使用給定的 replacement 替換此字符串所有匹配給定的正則表達(dá)式的子字符串
replaceFirst(String regex, String replacement)
使用給定的 replacement 替換此字符串匹配給定的正則表達(dá)式的第一個(gè)子字符串。
總結(jié):
replace 替換的是char,replaceAll、replaceFirst替換的可以是字符串,也可以是正則表達(dá)式;三者返回的都是一個(gè)新的字符串。
例題
需求:將字符串 time:[* TO *] 中第二個(gè)*替換為 test
實(shí)現(xiàn)代碼
@Test public void replaceSecondStr() { String test = 'time:[* TO *]'; String result1 = test.replaceAll('(*)(.*?)(1)(.*?)', '$1$2test$4'); System.out.println('原字符串:' + test); System.out.println('替換后:' + result1);}
輸出:
原字符串:time:[* TO *]
替換后:time:[* TO test]
總結(jié):
正則中()表示提取匹配的字符串并分組;會(huì)分配存儲(chǔ)空間,可以用$1取得匹配到的字符串;
1表示與第一個(gè)()中匹配的內(nèi)容相同,也可以繼續(xù)寫(xiě)(*);
(.*?)為勉強(qiáng)匹配方式,意思是匹配任何字符。
補(bǔ)充(取出匹配到的字符串)
@Testpublic void findGroup() { String test = 'time:[* TO *]'; Matcher matcher = Pattern.compile('(*)(.*?)(1)(.*?)').matcher(test); if (matcher.find()) { System.out.println(matcher.group()); }}
補(bǔ)充知識(shí):java字符串的操作:去除字符、替換字符、多個(gè)字符分隔字符串
看代碼吧~
// 去除空格,換行,制表符public String replaceBlank(String str) {String dest = '';if (str!=null) {Pattern p = Pattern.compile('s*|t|r|n'); // 去除多個(gè)空格,去除制表符,回車(chē),換行Matcher m = p.matcher(str);dest = m.replaceAll('');}return dest;}String s = '你要去除的字符串';
1.去除空格:s = s.replace(’s’,’’);
2.去除回車(chē):s = s.replace(’n’,’’);
字符串去除多個(gè)字符串(括號(hào)):
String cal = tableStrings.get(i).replaceAll('(|)', ''); // 去除左右括號(hào)
字符串分隔多個(gè)字符:
String[] temp = cal.split('+|-|*|/'); // 按照加減乘除字符分隔字符串
以上這篇Java 實(shí)現(xiàn)repalceAll只替換第二個(gè)匹配到的字符串就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持好吧啦網(wǎng)。
相關(guān)文章:
1. 解決Python數(shù)據(jù)可視化中文部分顯示方塊問(wèn)題2. Python基于traceback模塊獲取異常信息3. ASP編碼必備的8條原則4. python開(kāi)發(fā)一個(gè)解析protobuf文件的簡(jiǎn)單編譯器5. 利用python+ffmpeg合并B站視頻及格式轉(zhuǎn)換的實(shí)例代碼6. python 繪制斜率圖進(jìn)行對(duì)比分析7. 解決Python 函數(shù)聲明先后順序出現(xiàn)的問(wèn)題8. Android實(shí)現(xiàn)儀表盤(pán)控件開(kāi)發(fā)9. python GUI模擬實(shí)現(xiàn)計(jì)算器10. 深入理解JavaScript字節(jié)二進(jìn)制知識(shí)以及相關(guān)API
