replace
Grammar
ts
replace(pattern, replacement)可以是字符串或者一个带有
Symbol.replace方法的对象,典型的例子就是正则表达式。任何没有Symbol.replace方法的值都会被强制转换为字符串。可以是字符串或函数。
该方法并不改变调用它的字符串本身,而是返回一个新的字符串。
字符串模式只会被替换一次。要执行全局搜索和替换,请使用带有 g 标志的正则表达式或使用 replaceAll()。
如果 pattern 是一个空字符串,则替换项将被插入到字符串的开头。
ts
"xxx".replace("", "_"); // "_xxx"Callback
ts
function replacer(match, p1, p2, /* …, */ pN, offset, string, groups) {
return replacement;
}匹配的子字符串。(对应于上面的
$&。)如果
replace()的第一个参数是RegExp对象,则为捕获组(包括命名捕获组)找到的第n个字符串。(对应于上面的$1、$2等。)例如,如果pattern是/(\a+)(\b+)/,则p1是\a+的匹配项,p2是\b+的匹配项。如果该组是分支的一部分(例如"abc".replace(/(a)|(b)/, Replacer)),则不匹配的替代项将为undefined。原始字符串中匹配子字符串的偏移量。例如,如果整个字符串是
'abcd',而匹配的子字符串是'bc',那么这个参数将是1。正在检查的原始字符串。
一个捕获组命名组成的对象,值是匹配的部分(如果没有匹配,则为
undefined)。仅在pattern包含至少一个命名捕获组时才存在。
Return
一个新的字符串,其中一个、多个或所有的匹配项都被指定的替换项替换。
