在 ES11 中,新增了一个非常实用的字符串方法:String.prototype.replaceAll()
。该方法可以全局替换字符串中的所有匹配项,而不仅仅是第一个匹配项。本文将详细介绍这个新特性,以及如何使用它。
语法
String.prototype.replaceAll(searchValue, replaceValue)
searchValue
:要被替换的字符串或正则表达式。replaceValue
:用来替换匹配项的字符串或函数。
示例
用字符串替换
----- --- - ------ ------- ------------------------------- ------ -- ------ ------
在上面的示例中,我们用 x
替换了字符串中的所有 l
。
用正则表达式替换
----- --- - ------ ------- -------------------------------- ------ -- ------ ------
在上面的示例中,我们使用了正则表达式 /l/g
,其中 g
表示全局匹配。
用函数替换
----- --- - ------ ------- -------------------------------- ------- -- ---------------------- -- ------ ------
在上面的示例中,我们使用了一个函数来替换匹配项。函数接收一个参数 match
,表示匹配到的字符串。在本例中,我们将匹配到的字符串转换为大写字母。
使用场景
String.prototype.replaceAll()
可以用于各种场景,比如:
替换字符串中的所有空格
----- --- - ------ ------- ---------------------------- -- ----- -- ------------
替换 URL 中的参数
----- --- - ---------------------------------------- ------------------------------------ ----------- -- ---------------------------------------
替换 HTML 中的所有链接
----- ---- - --- ---------------------------------------- -------------------------------------------------- --------------------------- -- --- ------------------------------------------
注意事项
String.prototype.replaceAll()
方法返回一个新字符串,原字符串不会被修改。searchValue
参数可以是一个字符串或正则表达式。如果是字符串,则只会替换第一个匹配项;如果是正则表达式,则可以全局匹配。replaceValue
参数可以是一个字符串或函数。如果是字符串,则只会替换第一个匹配项;如果是函数,则可以自定义替换规则。
总结
String.prototype.replaceAll()
是一个非常实用的字符串方法,可以全局替换字符串中的所有匹配项。在实际开发中,我们经常需要对字符串进行替换操作,使用这个方法可以更加方便地完成这个任务。希望本文能够对你有所帮助。
来源:JavaScript中文网 ,转载请注明来源 本文地址:https://www.javascriptcn.com/post/66093c2bd10417a2227d7224