天天看點

JAVA中replace()與replaceAll()的差別-----JS中replace()與replaceAll()的差別

JAVA

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

2)replaceAll的參數是regex,即基于規則表達式的替換,比如,可以通過replaceAll(“\d”, “*”)把一個字元串所有的數字字元都換成星号;

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

另外,如果replaceAll()和replaceFirst()所用的參資料不是基于規則表達式的,則與replace()替換字元串的效果是一樣的,即這兩者也支援字元串的操作;

js

<1>JS 字元串有replace() 方法。但這個方法隻會對比對到的第一個字串替換。 如下例:

New Document

var str = "wordwordwordword"; var strNew = str.replace("word","Excel"); alert(strNew);

–傳回結果:Excelwordwordword

<2>如果要全部替換的話,JS 沒有提供replaceAll這樣的方法。使用正則表可以達成Replace 的效果:

str.replace(new RegExp(“word”,”gm”),”Excel”)

總結:

1. str.replace(/oldString/g,newString) - -隻替換第一個

2. str.replace(new RegExp(oldString,”gm”),newString);— -全部替換