`
fuleonardo
  • 浏览: 179707 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

JS中实现replaceAll的方法

阅读更多

第一次发现JavaScript中replace() 方法如果直接用str.replace("-","!") 只会替换第一个匹配的字符. 
而str.replace(/\-/g,"!")则可以全部替换掉匹配的字符(g为全局标志)。 

replace() 
The replace() method returns the string that results when you replace text matching its first argument 
(a regular expression) with the text of the second argument (a string). 
If the g (global) flag is not set in the regular expression declaration, this method replaces only the first 
occurrence of the pattern. For example, 

var  s = "Hello. Regexps are fun." ;s = s.replace(/\./, "!" ); // replace first period with an exclamation pointalert(s);

produces the string “Hello! Regexps are fun.” Including the g flag will cause the interpreter to 
perform a global replace, finding and replacing every matching substring. For example, 

var  s = "Hello. Regexps are fun." ;s = s.replace(/\./g, "!" ); // replace all periods with exclamation pointsalert(s);

yields this result: “Hello! Regexps are fun!” 

所以可以用以下几种方式.:
string.replace(/reallyDo/g, replaceWith);
string.replace(new RegExp(reallyDo, 'g'), replaceWith);

string:字符串表达式包含要替代的子字符串。
reallyDo:被搜索的子字符串。
replaceWith:用于替换的子字符串。

<script type="text/javascript">
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);
    }
}
</script>
 
分享到:
评论
3 楼 kongbei_ly 2013-08-19  
THANK YOU SO MUCH
2 楼 coding1688 2013-01-30  
写得不错,在我的博文中引用了您的大作http://www.vktone.com/articles/js-regexp-replaceall.html
1 楼 j60017268 2012-05-23  

相关推荐

    JS中实现replaceAll的方法(实例代码)

    标签为“JS replaceAll方法”,意味着我们需要专注于JavaScript语言中的字符串处理能力。 在JavaScript中,传统的replace()方法并不支持直接替换所有匹配项,而是需要使用正则表达式来实现全局替换。这就是为什么在...

    js使用正则实现ReplaceAll全部替换的方法

    因此,如果需要实现replaceAll效果,即替换字符串中所有匹配的子串,可以使用正则表达式配合replace()方法来实现。 正则表达式中的全局匹配标志(g)用于指示匹配操作应该在输入字符串中进行全局搜索,即查找到所有...

    JavaScript中使用replace结合正则实现replaceAll的效果

    除了直接在代码中使用replace方法以外,有时候,开发者可能会在浏览器的地址栏中直接执行JavaScript代码,以便快速验证代码片段。例如: ```javascript javascript:alert("abcabcabc".replace(/a/g, "ad")) ``` 在...

    javascript中使用replaceAll()函数实现字符替换的方法

    总结一下,`replace()`方法和`replaceAll()`函数在JavaScript中用于字符串替换,其中`replace()`仅替换第一个匹配项或根据正则表达式全局替换,而`replaceAll()`则始终进行全局替换,简化了全局替换的操作。...

    JavaScript实现的字符串replaceAll函数代码分享

    在描述中,我们了解到本文将直接分享实现replaceAll函数的代码,这对需要该功能的JavaScript开发者来说十分有用。开发者们在实现自己的replaceAll方法时,需要考虑到兼容性问题和正则表达式的使用。 从给出的部分...

    js replace 与replaceall实例用法详解

    总结来说,JavaScript中的replace方法是一个非常强大且灵活的字符串操作工具,它不仅可以完成简单的文本替换工作,还能通过正则表达式和回调函数实现复杂的文本处理功能。虽然没有直接的replaceAll方法,但通过正则...

    jQuery中replaceAll()方法用法实例

    在jQuery库中,`replaceAll()`方法是一个非常实用的函数,它允许我们用匹配的DOM元素或HTML字符串替换现有的DOM元素。这个方法对于动态更新页面内容和实现复杂的DOM操作非常有用。接下来,我们将深入探讨`replaceAll...

    用JS实现HTML标签替换效果

    有个静态页面 &lt;span u00a0id=ab&gt;abcde&lt;/span&gt;&lt;span u00a0id=ab&gt;abcde&lt;/span&gt;&lt;span u00a0id=ab&gt;abcde&lt;/span&gt;&lt;span u00a0id=ab&gt;abcde&lt;/span&gt; 能否通过js实现,IE浏览时的代码被替换为 &lt;/&gt;&lt;/&gt;&lt;/&gt;&lt;/&gt; 无...

    String.prototype.replaceAll:适用于String.prototype.replaceAll ESnext提案的符合规范的polyfill

    如果不可用或不String.prototype.replaceAll调用其“ shim”方法对String.prototype.replaceAll进行填充。 该软件包实现了接口。 它在ES3支持的环境中工作,并符合。 最常见的用法: const assert = require ( '...

    js替换字符串中所有指定的字符(实现代码)

    另外,一些现代JavaScript引擎已经支持`replaceAll`方法,如V8引擎(Chrome, Node.js等),因此如果你的代码运行在支持`replaceAll`的环境中,可以直接使用而无需扩展。 以上就是关于JavaScript中如何替换字符串中...

    javascript实现全局匹配并替换的方法.docx

    ### JavaScript 实现全局匹配并替换的方法 #### 一、引言 在JavaScript中,`replace()` 方法用于在字符串中用一些字符替换另一些字符,或替换一个与正则表达式匹配的子串。然而,默认情况下,`replace()` 只会替换...

    javascript实现全局匹配并替换的方法

    以上就是关于JavaScript实现全局匹配并替换方法的知识总结。通过内置的replace函数配合正则表达式的全局匹配标志“g”,以及可能的多行标志“m”,可以快速完成全局替换任务。此外,通过扩展String原型添加自定义的...

    js实战之全部替代一个子串为另一个子串.pdf

    在ESNext中,引入了新的String.prototype.replaceAll()方法,该方法可以实现全量字符串替换。例如: `const s = 'hello. hello. hello.';` `s.replaceAll('hello. ', 'A');` 该方法的优点是可以实现全量替换,不...

    javascript常用方法

    以下是一些常用的JavaScript函数和方法,它们在日常开发中非常实用。 1. 字符串处理: - `cutstr(str, len)`:这个函数用于截取字符串,根据指定长度`len`对字符串进行截断,并在末尾添加省略号。它考虑了中文字符...

    java 中类似js encodeURIComponent 函数的实现案例

    这个实现首先使用`URLEncoder.encode()`方法将字符串`s`编码为UTF-8格式,然后使用`replaceAll()`方法进行额外的转换,以确保与JavaScript的`encodeURIComponent`函数行为一致。 对于解码,我们有`...

Global site tag (gtag.js) - Google Analytics