Java中replace與replaceAll的區(qū)別與測(cè)試
一、簡(jiǎn)述
【replace】的參數(shù)是 char 和 CharSequence,既支持字符的替換,也支持字符串的替換(CharSequence即字符串序列的意思,也就是字符串)。
【replaceAll】的參數(shù)是 regex,即基于規(guī)則表達(dá)式的替換。比如:可以通過(guò)replaceAll("\\d", "*")
把一個(gè)字符串所有的數(shù)字字符都換成星號(hào)。
二、異同
1??相同點(diǎn):都是全部替換,即把源字符串中的某一字符或字符串全部換成指定的字符或字符串。
2??不同點(diǎn):replaceAll 支持正則表達(dá)式,因此會(huì)對(duì)參數(shù)進(jìn)行解析(兩個(gè)參數(shù)均是)。replace 不支持正則,replace("\\d","*")
就是替換"\\d"
的字符串,而不會(huì)解析為正則。
3??另外還有一個(gè)不同點(diǎn):\
在 Java 中是一個(gè)轉(zhuǎn)義字符,所以需要用兩個(gè)代表一個(gè)。例如System.out.println( "\\" );
只打印出一個(gè)\
。但是\
也是正則表達(dá)式中的轉(zhuǎn)義字符,需要用兩個(gè)代表一個(gè)。所以\\\\
被 Java 轉(zhuǎn)換成\\
,\\
又被正則表達(dá)式轉(zhuǎn)換成\
,因此用 replaceAll 替換\
為\\
,就要用replaceAll("\\\\","\\\\\\\\")
,而 replace 則為replace("\\","\\\\")
。
4??如果只想替換第一次出現(xiàn)的,可以使用 replaceFirst(),這個(gè)方法也是基于正則表達(dá)式的替換,但與 replaceAll() 不同的是,只替換第一次出現(xiàn)的字符串。
三、測(cè)試
public class ReplaceDemo { public static void main(String[] args) { String str = "a1b2c3d"; System.out.println(str.replace("a", "123")); System.out.println(str.replace("\\d", "888")); System.out.println(str.replaceAll("\\d", "888")); System.out.println(str.replaceFirst("\\d", "888")); } }
結(jié)果:
1231b2c3d
a1b2c3d
a888b888c888d
a888b2c3d
總結(jié)
到此這篇關(guān)于Java中replace與replaceAll的區(qū)別與測(cè)試的文章就介紹到這了,更多相關(guān)Java replace與replaceAll區(qū)別內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- javascript中使用replaceAll()函數(shù)實(shí)現(xiàn)字符替換的方法
- Javascript中正則表達(dá)式的全局匹配模式分析
- Javascript中使用exec進(jìn)行正則表達(dá)式全局匹配時(shí)的注意事項(xiàng)
- JavaScript實(shí)現(xiàn)的字符串replaceAll函數(shù)代碼分享
- javascript實(shí)現(xiàn)全局匹配并替換的方法
- java中replaceAll替換圓括號(hào)實(shí)例代碼
- java字符串的替換replace、replaceAll、replaceFirst的區(qū)別說(shuō)明
- Java replaceAll()方法報(bào)錯(cuò)Illegal group reference的解決辦法
- String.replaceAll方法詳析(正則妙用)
- 淺談Java中replace與replaceAll區(qū)別
- Java中replace、replaceAll和replaceFirst函數(shù)的用法小結(jié)
- 淺談java中replace()和replaceAll()的區(qū)別
- jQuery中replaceAll()方法用法實(shí)例
- js使用正則實(shí)現(xiàn)ReplaceAll全部替換的方法
- js字符串替換所有的指定字符或文字(推薦replaceAll方法)
- JS中實(shí)現(xiàn)replaceAll的方法(實(shí)例代碼)
- js replace 與replaceall實(shí)例用法詳解
- Flex 字符串ReplaceAll使用說(shuō)明
- JavaScript中使用replace結(jié)合正則實(shí)現(xiàn)replaceAll的效果
相關(guān)文章
springboot3+r2dbc響應(yīng)式編程實(shí)踐
本文主要介紹了springboot3+r2dbc響應(yīng)式編程實(shí)踐,文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-02-02java1.5中訪(fǎng)問(wèn)環(huán)境變量
這篇文章主要介紹了如何在java1.5中訪(fǎng)問(wèn)環(huán)境變量,使用System.getenv()可以訪(fǎng)問(wèn)環(huán)境變量2014-01-01SpringMVC異常處理知識(shí)點(diǎn)總結(jié)
在本篇文章里小編給大家整理的是關(guān)于SpringMVC異常處理相關(guān)知識(shí)點(diǎn)內(nèi)容,需要的朋友們學(xué)習(xí)下。2019-10-10解決SpringBoot 測(cè)試類(lèi)無(wú)法自動(dòng)注入@Autowired的問(wèn)題
這篇文章主要介紹了解決SpringBoot 測(cè)試類(lèi)無(wú)法自動(dòng)注入@Autowired的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2021-03-03Spring Boot 在啟動(dòng)時(shí)進(jìn)行配置文件加解密的方法詳解
這篇文章主要介紹了Spring Boot 在啟動(dòng)時(shí)進(jìn)行配置文件加解密的方法,本文通過(guò)實(shí)例給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-06-06