js 實現ReplaceAll 的方法

2021-06-03 01:21:49 字數 848 閱讀 4770

js  字串有replace() 方法。但這個方法只會對匹配到的第乙個字串替換。 如下例:

如果要全部替換的話,js 沒有提供replaceall這樣的方法。使用正則表可以達成replace 的效果:

str.replace(/word/g,"excel")
g 的意義是:執行全域性匹配(查詢所有匹配而非在找到第乙個匹配後停止)。

以上寫法有個類同的寫法:

str.replace(new regexp("word","gm"),"excel")

g執行全域性匹配(查詢所有匹配而非在找到第乙個匹配後停止)。

m執行多行匹配。

除此之外,也可以新增 stirng物件的原型方法:

string.prototype.replaceall  = function(s1,s2)
這樣就可以像使用replace 方法一樣使用replaceall了

str.replaceall("word","excel");

總結一下, 三種方式

1.  str.replace(/oldstring/g,newstring)

2.  str.replace(new regexp(oldstring,"gm"),newstring)

3. 增加string 物件原型方法 replaceall

js實現replaceAll方法

js本來有replace方法,請看w3school的說明 replace 方法用於在字串中用一些字元替換另一些字元,或替換乙個與正規表示式匹配的子串。語法 stringobject.replace regexp substr,replacement 第乙個引數為乙個字串或者乙個正規表示式,第二個引數...

js 實現ReplaceAll 的方法

js 字串有replace 方法。但這個方法只會對匹配到的第乙個字串替換。如下例 如果要全部替換的話,js 沒有提供replaceall這樣的方法。使用正則表可以達成replace 的效果 str.replace word g,excel g 的意義是 執行全域性匹配 查詢所有匹配而非在找到第乙個匹...

六十 js 實現replaceAll 方法

js不提供replaceall方法,用for迴圈又有效率問題,用乙個正規表示式的解決方案 string.prototype.replaceall function s1,s2 string.replace new regexp oldstring,gm newstring gm g global,m...