JAVA字符串的替换replace、replaceAll、replaceFirst的区别解析。
輸出結(jié)果:
為什么會(huì)出現(xiàn)這樣的情況?其實(shí)知道正則表達(dá)式的應(yīng)該已經(jīng)發(fā)現(xiàn)了,因?yàn)椤?”是正則表達(dá)式的元字符,匹配除換行符以外的任意字符,所以replaceAll、replaceFirst才出現(xiàn)了這樣的結(jié)果!
而replace沒(méi)有用到正則表達(dá)式,但會(huì)把所有“.”替換掉,有很多人可能會(huì)誤解replace是替換單個(gè),而replaceAll是替換全部,其實(shí)這是錯(cuò)的。replace只是沒(méi)有用到正則表達(dá)式,但會(huì)替換所有匹配的字符串。
到這里一些不懂正則表達(dá)式的小伙伴可能就要喊坑爹了,“那我不想用正則表達(dá)式去替換第一個(gè)字符串腫么辦?”其實(shí)也很簡(jiǎn)單,只要將元字符串轉(zhuǎn)義就行了。
s.replaceFirst("\\.", "#")輸出結(jié)果:
貼一些常用的正則表達(dá)式識(shí)別的字符列表:
.?:匹配除換行符以外的任意字符
^?:匹配字符串的開(kāi)始
$?:匹配字符串的結(jié)束
*?:重復(fù)零次或更多次
+?:重復(fù)一次或更多次
??:重復(fù)零次或一次
轉(zhuǎn)載于:https://www.cnblogs.com/cat520/p/11191728.html
總結(jié)
以上是生活随笔為你收集整理的JAVA字符串的替换replace、replaceAll、replaceFirst的区别解析。的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。