国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Java > 正文

淺談java中replace()和replaceAll()的區(qū)別

2019-11-26 14:51:56
字體:
供稿:網(wǎng)友

replace和replaceAll是JAVA中常用的替換字符的方法,它們的區(qū)別是:

1)replace的參數(shù)是char和CharSequence,即可以支持字符的替換,也支持字符串的替換(CharSequence即字符串序列的意思,說白了也就是字符串);

2)replaceAll的參數(shù)是regex,即基于規(guī)則表達式的替換,比如,可以通過replaceAll("//d", "*")把一個字符串所有的數(shù)字字符都換成星號;

相同點:都是全部替換,即把源字符串中的某一字符或字符串全部換成指定的字符或字符串,如果只想替換第一次出現(xiàn)的,可以使用replaceFirst(),這個方法也是基于規(guī)則表達式的替換,但與replaceAll()不同的是,只替換第一次出現(xiàn)的字符串;

另外,如果replaceAll()和replaceFirst()所用的參數(shù)據(jù)不是基于規(guī)則表達式的,則與replace()替換字符串的效果是一樣的,即這兩者也支持字符串的操作;

還有一點注意::執(zhí)行了替換操作后,源字符串的內(nèi)容是沒有發(fā)生改變的。

  舉例如下:  

  String src = new String("ab43a2c43d");  System.out.println(src.replace("3","f"));=>ab4f2c4fd.  System.out.println(src.replace('3','f'));=>ab4f2c4fd.  System.out.println(src.replaceAll("http://d","f"));=>abffafcffd.  System.out.println(src.replaceAll("a","f"));=>fb43fc23d.  System.out.println(src.replaceFirst("http://d,"f"));=>abf32c43d  System.out.println(src.replaceFirst("4","h"));=>abh32c43d.

如何將字符串中的"/"替換成"http://": 

  String msgIn;  String msgOut;  msgOut=msgIn.replaceAll("http:////","http:////////");

原因:

  '/'在java中是一個轉(zhuǎn)義字符,所以需要用兩個代表一個。例如System.out.println( "http://" ) ;只打印出一個"/"。但是'/'也是正則表達式中的轉(zhuǎn)義字符(replaceAll 的參數(shù)就是正則表達式),需要用兩個代表一個。所以:////被java轉(zhuǎn)換成//,//又被正則表達式轉(zhuǎn)換成/。

同樣

  CODE: ////////

  Java: ////

  Regex: //

將字符串中的'/'替換成'/'的幾種方式:

  msgOut= msgIn.replaceAll("/", "http:////");  msgOut= msgIn.replace("/", "http://");  msgOut= msgIn.replace('/', '//');

通過實例區(qū)分了java中replace()和replaceAll()的不同點,希望本文對大家學習有所幫助。

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 湟中县| 湟源县| 乌拉特后旗| 黄陵县| 宜丰县| 都匀市| 东源县| 岳阳县| 峨边| 马鞍山市| 拜泉县| 昆山市| 宜城市| 望谟县| 博客| 宜宾市| 丹巴县| 漳平市| 常熟市| 广平县| 安多县| 广水市| 黔江区| 古田县| 伊川县| 车险| 三门峡市| 饶阳县| 鲁山县| 浮梁县| 南安市| 临颍县| 临沭县| 凌海市| 晋城| 定边县| 建平县| 贡嘎县| 礼泉县| 陵川县| 综艺|