五月综合缴情婷婷六月,色94色欧美sute亚洲线路二,日韩制服国产精品一区,色噜噜一区二区三区,香港三级午夜理伦三级三

您現(xiàn)在的位置: 365建站網(wǎng) > 365文章 > JS replace()方法替換變量(可以對(duì)變量進(jìn)行全文替換)

JS replace()方法替換變量(可以對(duì)變量進(jìn)行全文替換)

文章來(lái)源:365jz.com     點(diǎn)擊數(shù):973    更新時(shí)間:2015-12-13 23:59   參與評(píng)論
我要用 JS 替換一個(gè)多行文本的關(guān)鍵字
正常,沒有變量的時(shí)候應(yīng)該是這樣:
把 a 替換成 b:
string.replace("a","b");
以上只能替換第一個(gè)匹配的,要全文匹配應(yīng)該用正則表達(dá)式:
string.replace(/a/g,"b");
正則加個(gè)參數(shù) g ,表示全文匹配。
 
但現(xiàn)在,我要替換的不是 a 這個(gè)字符了,而是從外面?zhèn)鬟M(jìn)來(lái)的一個(gè)變量:
var key;
我可以這么寫:
string.replace(key,"b");
這只能替換第一個(gè)匹配的,要全文匹配就遇到難題了:
string.replace(/key/g,"b");
這樣寫是不行的,變量 key 傳不到正則里面去。。。頭疼啊
 
于是我在網(wǎng)上找啊找。
我先找 replace 替換變量,有說(shuō)用加號(hào)拼接正則的,好像也失敗了。。??吹梦視灂灪鹾醯摹?/div>
我無(wú)意中發(fā)現(xiàn) java 有個(gè) replaceAll() 方法,我想如果可以這樣不就好了嗎:
string.replaceAll(key,"b");
這樣就不用正則了,變量就能進(jìn)去了。
然后發(fā)現(xiàn) JS 里沒有 replaceAll() 這個(gè)方法。。
我靠,,然后我又查 JS 怎么能夠?qū)崿F(xiàn) replaceAll 這個(gè)方法,網(wǎng)上各種自己寫函數(shù)啊,,看得我也暈暈乎乎的。
 
后來(lái)我的思路又回到了怎樣把變量傳到 replace() 方法里面去。
哎~功夫不負(fù)有心人,看到一篇文章:
文章的最后,給出了 JS 里面正則表達(dá)式的另一個(gè)使用方法,那就是:
string.replace(new RegExp(key,'g'),"b");
這里,利用 JS 的 RegExp 對(duì)象,將 g 參數(shù)單拿了出來(lái),同時(shí),正則的內(nèi)容可以用變量來(lái)代替了?。。?!
 
干的漂亮!?。?!
又簡(jiǎn)單,又實(shí)用!
 
這里就完成了用 replace() 方法對(duì)變量進(jìn)行全文替換。運(yùn)氣不錯(cuò)
怎么樣,是不是不用自己寫 replaceAll() 了呢!哈哈

如對(duì)本文有疑問,請(qǐng)?zhí)峤坏浇涣髡搲?,廣大熱心網(wǎng)友會(huì)為你解答!! 點(diǎn)擊進(jìn)入論壇

發(fā)表評(píng)論 (973人查看,0條評(píng)論)
請(qǐng)自覺遵守互聯(lián)網(wǎng)相關(guān)的政策法規(guī),嚴(yán)禁發(fā)布色情、暴力、反動(dòng)的言論。
昵稱:
最新評(píng)論
------分隔線----------------------------

其它欄目

· 建站教程
· 365學(xué)習(xí)

業(yè)務(wù)咨詢

· 技術(shù)支持
· 服務(wù)時(shí)間:9:00-18:00
365建站網(wǎng)二維碼

Powered by 365建站網(wǎng) RSS地圖 HTML地圖

copyright © 2013-2024 版權(quán)所有 鄂ICP備17013400號(hào)