国产探花免费观看_亚洲丰满少妇自慰呻吟_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ā)表
主站蜘蛛池模板: 新宁县| 宣恩县| 辽源市| 鹰潭市| 兰坪| 眉山市| 武城县| 和静县| 枞阳县| 丰城市| 石嘴山市| 清流县| 石狮市| 抚远县| 静乐县| 东乡| 拜城县| 商南县| 靖西县| 潮安县| 社旗县| 侯马市| 镇赉县| 图木舒克市| 宁海县| 都匀市| 财经| 当雄县| 志丹县| 顺义区| 绥德县| 新乡县| 芦山县| 怀化市| 靖安县| 横山县| 华池县| 卢湾区| 东乌珠穆沁旗| 涟源市| 聂拉木县|