如何使用 ES11 的 String.prototype.replaceAll 方法替换字符串中所有的匹配项

阅读时长 3 分钟读完

在过去的 JavaScript 版本中,如果需要将一个字符串中的所有匹配项替换为新的字符串,我们通常使用正则表达式和 String.prototype.replace() 方法。但是在 ES11 中,新增了 String.prototype.replaceAll() 方法,它能够更为方便有效地替换字符串中所有的匹配项。

String.prototype.replaceAll() 方法的语法

String.prototype.replaceAll() 方法的语法如下:

其中,str 表示需要进行替换操作的字符串,regexp 或 substr 表示需要替换的正则表达式或子字符串,newSubStr 或 function 表示用来替换的新字符串或者替换字符串的回调函数。

需要注意的是,replaceAll() 方法会将所有匹配项都替换掉,并返回替换后的新字符串。

使用 String.prototype.replaceAll() 方法替换字符串中的所有匹配项

下面通过几个示例来演示如何使用 String.prototype.replaceAll() 方法替换字符串中的所有匹配项。

使用正则表达式

可以使用正则表达式来匹配需要被替换的字符串,代码如下:

上述代码中,/l/g 表示将字符串中所有的 "l" 进行匹配,并且 "g" 表示全局匹配。因此,通过 String.prototype.replaceAll() 方法,将所有的 "l" 替换为 "L"。

使用子字符串

除了正则表达式之外,还可以使用子字符串来进行替换操作。如下代码所示:

上述代码中,将所有的 "l" 替换为空字符串,即删除所有的 "l"。

使用回调函数

除了直接替换字符串之外,还可以使用回调函数进行字符串的替换操作。如下代码所示:

上述代码中,正则表达式 /(\w+)/g 匹配所有的单词,并将其替换为其大写版本。

结语

在本文中,我们介绍了 ES11 中新增的 String.prototype.replaceAll() 方法,以及如何使用该方法来替换字符串中的所有匹配项。希望读者们能够通过本文对该方法有更加深入的了解,并且能够更加灵活地运用到自己的代码中。

来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/6792abc0504e4ea9bd673a4d

纠错
反馈

纠错反馈

程序员教程

精选优质教程,助你快速提升技术实力

程序员面试题库

海量优质面试题,助你轻松应对技术面试