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 正...