JS基礎篇 replace替換全部的正確應用

2021-09-14 02:49:27 字數 1570 閱讀 3019

var str = "test-test-test";

str = "test-test-test".replace("test", "ok");

console.log(str);

使用正則:

var str = "test-test-test";

str = "test-test-test".replace(/test/g, "ok");

console.log(str);

如下這種情況,表情標籤的替換,我們需要正常的字串替換,例如結合while + indexof實現。

var faces = ;

var str = "/::)-/::b-/::)-/:8-)-/:8-)";

for (var k in faces)

}console.log(str);

這樣,基本功能實現,不過這是有問題的,如果有乙個鍵值相同的,就會死迴圈例如:

var faces = ;

var str = "/::)-/::b-/:hehe-/:8-)-/:8-)";

for (var k in faces)

}console.log(str);

修改為如下**解決死迴圈問題:

var faces = ;

var str = "/::)-/::b-/:hehe-/:8-)-/:8-)";

for (var k in faces)

}console.log(str);

再進行簡單封裝一下:

/**

* 字串替換

* @param str 要被替換的字串

* @param substr 要替換的字串

* @param newstr 用於替換的字串

* @return 替換後的新字串

*/function replace(str, substr, newstr)

return str;

}console.log( replace("ssssss", "ss", "s") ); // sss

/**

* 字串替換

* @param str 要被替換的字串

* @param substr 要替換的字串

* @param newstr 用於替換的字串

* @return 替換後的新字串

*/function replace(str, substr, newstr) ()|^$?*+]/g, "\\$&"); // 轉義字串中的元字元

var re = new regexp(substr, "g"); // 生成正則

return str.replace(re, newstr);

}console.log( replace("ssssss", "ss", "s") ); // sss

JS中replace全部替換

今天遇到乙個問題,用replace只能替換乙個字元,不能替換字串中的全部字元,在網上找了很久也沒找到答案,有的說用 string.prototype.replaceall function findtext,reptext let regexp new regexp findtext,g retur...

不用正則實現js中replace全域性替換的功能

1.我們替換,一般用下面方法 qwew replace w g,這種方法,很方便 2.問題是萬一我們要替換的內容中含有特殊字元,如 這種情況下,我們就必須將 進行轉義,即 qw ew replace w g,3.還有些具體的情況下,如我們要替換的內容是可變的且含有特殊字元,那麼我們用2的方法就顯得很...

082JS 正規表示式 替換replace

regular expression 正規表示式 也是物件匹配字串字元組合 1驗證表單 通過呼叫regexp物件的建構函式建立 var regexp newregexp 123 利用字面量建立 正規表示式 var regexp2 表示式 測試正規表示式test regexobj.test str 正...