JavaScript替换字符串中所有给定子字符串
原文:Replace All Instances of a String in JavaScript
学习如何替换JavaScript字符串中所有给定子字符串。
String#replace()默认只替换第一个子字符串。要替换所有,需要传入一个带有/g
标识的正则表达式,如下:
1 | const str = 'A penny saved is a penny earned'; |
注意,JavaScript的字符串是不可变的,字符串使用replace()
,并不会修改原始的字符串。
替换变量名
String#replace()
函数的第二个参数,有几个特殊的字符组合,称为“替换变量名”。替换变量名可以用于这样的场景:把所有正则表达式匹配的子字符串,替换为包含匹配内容的字符串。
例如,在所有数字前加一个#
。使用$&
替换变量名,就可以在匹配子字符串前插入#了。
1 | const str = 'My favorite team is 1, everyone else is 2'; |
译者补充
替换所有子字符串可以使用ES6新增的String#replaceAll()。