js 的replace 預設替換隻替換第一個匹配的字元,如果字元串有超過兩個以上的對應字元就無法進行替換,這時候就要進行一點操作,進行全部替換。 ~~~ var str = "javascript"; console.log(str .replace("a","A"));//輸出:jAvascrip ...
js 的replace 預設替換隻替換第一個匹配的字元,如果字元串有超過兩個以上的對應字元就無法進行替換,這時候就要進行一點操作,進行全部替換。
var str = "javascript";
console.log(str .replace("a","A"));//輸出:jAvascript
上面這段代碼,只能替換第一個字元“啊”,第二個“a”就無法替換,這樣就沒辦法滿足大多數使用js(replace)的需求
var str = "javascript";
console.log(str.replace(/a/g, "A"));//輸出:jAvAscript
這樣,就可以實現整個字元串的替換。
我們這裡用到了正則函數的/g全部的使用。這樣就可以實現整個字元串的替換效果。
下麵,我們大家可能還有個需求無法滿足,那就是,我們替換定值可以使用這個,但是替換變數怎麼使用?
接下來,就說一下替換變數的使用方式。
簡單介紹一下eval()
函數可計算某個字元串,並執行其中的的 JavaScript 代碼。接下來主要靠這個函數。
var ch = "a";
var reg = "/"+ch+"/g";
var str = "javascript";
console.log( str.replace(eval(reg),"A"));//輸出:jAvAscript
但是如果要替換的字元串中含有/
符號時,上面的就不能用了,需要採取以下方法
var ch = "/";
var str = "java/script";
console.log(str .replace(new RegExp(ch,'g')," "));//輸出:java script
文章參考:https://www.cnblogs.com/stubborn-donkey/p/9173089.html