国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
replace和replaceAll的區(qū)別

閱讀文章前,請先做道題(也是因為這道題,讓我寫下該文章):

public static void main(String[] args) {   

String classPath = "java.lang.String";   

System.out.println(classPath.replaceAll(".", "/"));   

輸出結(jié)果是? 

如果你認為是java/lang/String ,那你就錯了。正確的輸出結(jié)果是:////////////////

原因:請先看看replace和replaceAll的區(qū)別。

replace和replaceAll的區(qū)別:

1、replace的參數(shù)是CharSequence和CharSequence,其中第一個是匹配的字符或字符串,第二個是替換的字符或字符串。即可以支持字符的替換,也支持字符串的替換(CharSequence即字符串序列的意思,相當(dāng)于字符串)

2、replaceAll的參數(shù)是String和String,第一個參數(shù)regex,是替換規(guī)則(用正則表達式)。原因在于String類中replaceAll的實現(xiàn)用到Pattern進行正則表達式匹配(關(guān)于正則表達式可以baidu或google一下,以后有空再寫篇文章總結(jié)下)。

replaceAll的源代碼如下:

public String replaceAll(String regex, String replacement) {

return Pattern.compile(regex).matcher(this).replaceAll(replacement);

}

在正則表達式中.(小圓點)表示匹配除換行符號外的任意字符,所以上面的例子才會出現(xiàn)16個/

如果想匹配小圓點,可以用轉(zhuǎn)義字符\ 則代碼應(yīng)該如下:

System.out.println(classPath.replaceAll("\\.", "/"));  //其中\(zhòng)\匹配\,之后的\. 匹配.(小圓點)

當(dāng)然,你也可以用replace()進行處理,如下:

System.out.println(classPath.replace(".", "/"));

本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊舉報。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
(89) 正則表達式 (中) / 計算機程序的思維邏輯
java中String字符串的替換函數(shù):replace與replaceAll的區(qū)別
java replaceall 用法
正則表達式
Java正則表達式(一) - fuliang - JavaEye技術(shù)網(wǎng)站
JAVA與正則表達式
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點擊這里聯(lián)系客服!

聯(lián)系客服