如何使用JavaScript进行正则表达式替换所有匹配内容?
- 内容介绍
- 文章标签
- 相关推荐
本文共计346个文字,预计阅读时间需要2分钟。
由于JavaScript的`replace`方法确实只能进行一次替换,以下是一个能够替换掉所有匹配项的方法:
javascript/** * 替换掉所有匹配内容 * @param {string} content - 需要替换内容的字符串 * @param {string} searchValue - 要搜索的值 * @param {string} replaceValue - 替换成的值 * @return {string} 替换后的字符串 */function replaceAll(content, searchValue, replaceValue) { return content.replace(new RegExp(searchValue, 'g'), replaceValue);}
由于JavaScript 的 replace 只能替换一次,因此另外编写一个能现替换全部匹配内容方法,代码如下:
/* 把 content 中所有的 searchValue 替换为 replaceValue */ function replaceAll(content,searchValue,replaceValue){ while (content.indexOf(searchValue)>-1) { content = content.replace(searchValue,replaceValue); } return content; }
为什么不使用正侧表达式来替换?
因为实际操作中发现 searchValue 的内容太大的时候使用正侧表达式替换会出错
我的场景是把 html 页面 img 中的base64 xxx1,base64 xxx2 图片内容替换为 [image1][image2] 这样的占位符时,如果使用正则表达式就出错
附上一般情况下使用正则表达式的替换方法
content.replace(new RegExp(searchValue,'g'),replaceValue)
总结
以上所述是小编给大家介绍的JavaScript 替换所有匹配内容及正则替换方法,希望对大家有所帮助!
本文共计346个文字,预计阅读时间需要2分钟。
由于JavaScript的`replace`方法确实只能进行一次替换,以下是一个能够替换掉所有匹配项的方法:
javascript/** * 替换掉所有匹配内容 * @param {string} content - 需要替换内容的字符串 * @param {string} searchValue - 要搜索的值 * @param {string} replaceValue - 替换成的值 * @return {string} 替换后的字符串 */function replaceAll(content, searchValue, replaceValue) { return content.replace(new RegExp(searchValue, 'g'), replaceValue);}
由于JavaScript 的 replace 只能替换一次,因此另外编写一个能现替换全部匹配内容方法,代码如下:
/* 把 content 中所有的 searchValue 替换为 replaceValue */ function replaceAll(content,searchValue,replaceValue){ while (content.indexOf(searchValue)>-1) { content = content.replace(searchValue,replaceValue); } return content; }
为什么不使用正侧表达式来替换?
因为实际操作中发现 searchValue 的内容太大的时候使用正侧表达式替换会出错
我的场景是把 html 页面 img 中的base64 xxx1,base64 xxx2 图片内容替换为 [image1][image2] 这样的占位符时,如果使用正则表达式就出错
附上一般情况下使用正则表达式的替换方法
content.replace(new RegExp(searchValue,'g'),replaceValue)
总结
以上所述是小编给大家介绍的JavaScript 替换所有匹配内容及正则替换方法,希望对大家有所帮助!

