js中替换所有字符串的2种解决办法
js本身不提供replaceAll()方法的,所以要替换所有字符串需要自己写一个这样的方法,总结了网上几种写法如下:
方法一:
<script type="text/JavaScript"> //创建replaceAll()函数 String.prototype.replaceAll = function (FindText, RepText) { return this.replace(new RegExp(FindText, "g"), RepText); } var str = "shingfkhshsnf"; //用法,把所有n替换成w str= str.replaceAll("n","w") document.write(str) </script>
replaceAll的另一种写法,其实都差不多
//replaceAll的另一种写法,其实都差不多 String.prototype.replaceAll = function(reallyDo, replaceWith, ignoreCase) { if (!RegExp.prototype.isPrototypeOf(reallyDo)) { return this.replace(new RegExp(reallyDo, (ignoreCase ? "gi": "g")), replaceWith); } else { return this.replace(reallyDo, replaceWith); } } //补充,另一种简化的写法 var str = "dddd-dsss" //替换中间的“-”,写法如下: var newStr = str.replace(new RegExp('-', 'gm'), '');
结果:
方法二:
<script type="text/javascript"> //替换格式如下 //str.replace(/需要替换的字符串/g,"新字符串"); var str = "shingfkhshsnf"; //用法,把所有n替换成w str= str.replace(/n/g,"w"); document.write(str) </script>
结果:
场景:
有一个很重要的场景会用到这个替换功能,那就是在实际开发中,后台返回的json字符串需要转化成json,但是直接转化会有失败的情况,原因是有些中文的字符串里有换行符,必须把换行符替换了才能格式化成功,格式化之前可以复制代码去网上在线json格式化工具校验试试就知道了
如下:
//替换json换行符操作 JSON.parse(myJson.replace(/\n/g, ""))
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。
评论(0)