str.replace中替換的字符串存在變量時該怎么替換的問題

replace 默認替換只替換第一個匹配的字符,如果字符串有超過兩個以上的對應字符就無法進行替換,這時候就要進行一點操作,進行全部替換。

<script language="javascript"> var strM = "這是要被替換的字符串啊啊!"; //在此我想將字母a替換成字母A alert(strM.replace("啊","額")); </script>

上面這段代碼,只能替換第一個字符“啊”,第二個“啊”就無法替換,這樣就沒辦法滿足大多數(shù)使用js(replace)的需求。
<script type="text/javascript" language="javascript"> var s = "這是要被替換的字符換啊啊!"; alert(s); alert(s.replace(/啊/g, "額"));
這樣,就可以實現(xiàn)整個字符串的替換。
我們這里用到了正則函數(shù)的/g全部的使用。這樣就可以實現(xiàn)整個字符串的替換效果。
下面,我們大家可能還有個需求無法滿足,那就是,我們替換定值可以使用這個,但是替換變量怎么使用?
接下來,就說一下替換變量的使用方式。
簡單介紹一下eval() 函數(shù)可計算某個字符串,并執(zhí)行其中的的 JavaScript 代碼。接下來主要靠這個函數(shù)。
<script> var ch = "變量"; var reg = "/"+ch+"/g"; var str = "這是一個變量,這是一個變量"; var val = str.replace(eval(reg),"替換"); alert(val); </script>
這樣,就滿足了變量替換的方式。

替換變量還需要注意的是

extractVarArr.map(item => { const _strInit =${${item}}; const _str =\$\{${item}\}; // 必須要加// const _strGlobal =/${_str}/g; let _v = ''; if (item === e.target.name) { _v = e.target.value; } else { _v = getFieldValue(item); } const evalStr = eval(_strGlobal); previewTpl = previewTpl.replace(evalStr, _v || _strInit); });
對于 $ { }這三個特殊字符要進行轉義。需要特別注意的是 _str需要加//,即轉義兩次

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

  • 第一章: JS簡介 從當初簡單的語言,變成了現(xiàn)在能夠處理復雜計算和交互,擁有閉包、匿名函數(shù), 甚至元編程等...
    LaBaby_閱讀 1,764評論 0 6
  • 第三章 基本概念 3.1 語法 ECMAScript標識符一般采用駝峰大小寫格式,也就是第一個字母小寫,剩下的每個...
    小雄子閱讀 670評論 0 1
  • 第5章 引用類型(返回首頁) 本章內容 使用對象 創(chuàng)建并操作數(shù)組 理解基本的JavaScript類型 使用基本類型...
    大學一百閱讀 3,691評論 0 4
  • 字符的 Unicode 表示法 codePointAt() String.fromCodePoint() 字符串的...
    卞卞村長L閱讀 846評論 0 0
  • 字符串的概念和定義 字符串就是一串字符,由雙(單)引號括起來。 字符串是 JavaScript的一種基本的數(shù)據類型...
    fa54021d36e2閱讀 1,503評論 0 0

友情鏈接更多精彩內容