`
羊小绵
  • 浏览: 51771 次
  • 性别: Icon_minigender_1
  • 来自: 沈阳
文章分类
社区版块
存档分类
最新评论

js实现replaceAll的方法

阅读更多

JS  字符串有replace() 方法。但这个方法只会对匹配到的第一个字串替换。 如下例:

 

[javascript] view plaincopy

<HTML>  

<HEAD>  

<TITLE> New Document </TITLE>  

</HEAD>  

  

<BODY>  

<script>  

   var str = "wordwordwordword";  

   var strNew = str.replace("word","Excel");  

   alert(strNew);  

</script>  

</BODY>  

</HTML>

 

如果要全部替换的话,JS 没有提供replaceAll这样的方法。使用正则表可以达成Replace 的效果:

 

[javascript] view plaincopy

str.replace(/word/g,"Excel")

 

g 的意义是:执行全局匹配(查找所有匹配而非在找到第一个匹配后停止)。

 

[javascript] view plaincopy

<HEAD>  

<TITLE> New Document </TITLE>  

<script>  

function replaceAll(str)  

{  

    if(str!=null)  

    str = str.replace(/word/g,"Excel")  

    return str;  

}  

</script>  

</HEAD>  

  

<BODY>  

<script>  

   var str = "wordwordwordword";  

   var strNew = str.replace("word","Excel");  

   strNew = replaceAll(str);  

   alert(strNew);  

</script>  

</BODY>  

</HTML>  

 

以上写法有个类同的写法:

 

[javascript] view plaincopy

str.replace(new RegExp("word","gm"),"Excel")  

 

g执行全局匹配(查找所有匹配而非在找到第一个匹配后停止)。

m执行多行匹配。

 

[javascript] view plaincopy

  

除此之外,也可以添加 Stirng对象的原型方法:

 

[javascript] view plaincopy

String.prototype.replaceAll  = function(s1,s2){     

    return this.replace(new RegExp(s1,"gm"),s2);     

}   

 

这样就可以像使用replace 方法一样使用replaceAll了

 

[javascript] view plaincopy

str.replaceAll("word","Excel");  

 

总结一下, 三种方式

 

1.  str.replace(/oldString/g,newString)

2.  str.replace(new RegExp(oldString,"gm"),newString)

3. 增加String 对象原型方法 replaceAll

分享到:
评论

相关推荐

    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函数代码分享

    原型链是JavaScript实现继承的一种机制,当一个对象访问一个属性时,如果在当前对象上找不到该属性,JavaScript会沿着原型链向上查找,直到找到该属性或者到达原型链的末尾。 2. replaceAll方法的三个参数:really...

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

    此外,如果你想要自定义一个函数来实现`replaceAll()`的功能,可以像下面这样创建一个扩展方法: ```javascript String.prototype.replaceAll = function(reallyDo, replaceWith, ignoreCase) { if (!RegExp....

    js replace 与replaceall实例用法详解

    需要注意的是,JavaScript标准并不直接提供replaceAll方法。如果要实现类似replaceAll的行为,我们可以通过正则表达式的全局匹配标志(g)和多行匹配标志(m)来实现。例如,使用如下代码片段: ```javascript ...

    用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; 无...

    jQuery中replaceAll()方法用法实例

    这个方法对于动态更新页面内容和实现复杂的DOM操作非常有用。接下来,我们将深入探讨`replaceAll()`方法的用法、功能、参数以及一个具体的实例。 ### `replaceAll()`方法概述 `replaceAll()`方法的目的是找到一个...

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

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

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

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

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

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

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

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

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

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

    javascript常用方法

    - `replaceAll(s1, s2)`:扩展了String对象,实现全局替换功能,将所有出现的`s1`替换为`s2`。 - `trim()`:去除字符串两端的空白字符,包括空格和全角空格。 - `ltrim(s)`:去除字符串左侧的空白字符。 - `...

Global site tag (gtag.js) - Google Analytics