JavaScript中的replace()函数是用于替换字符串中的某个子串的方法。该方法接受两个参数:要替换的子串和替换后的字符串。
语法:
string.replace(searchValue, replaceValue)
参数说明:
-
searchValue:要替换的子串,可以是一个字符串或者一个正则表达式。
-
replaceValue:替换后的字符串,可以是一个字符串或者一个函数。
返回值:
返回一个新的字符串,其中所有的searchValue都被replaceValue替换。
使用示例:
- 替换字符串中的所有匹配项
let str = "Hello World!"; let newStr = str.replace("World", "JavaScript"); console.log(newStr); // 输出:Hello JavaScript!
- 使用正则表达式替换字符串中的所有匹配项
let str = "Hello World!"; let newStr = str.replace(/o/g, "0"); console.log(newStr); // 输出:Hell0 W0rld!
- 使用函数来替换字符串中的匹配项
let str = "Hello World!"; let newStr = str.replace(/o/g, function(match){ return match.toUpperCase(); }); console.log(newStr); // 输出:HellO wOrld!
在函数中,可以使用特殊的替换字符:
-
$&:与正则表达式相匹配的子串。
-
$`:位于匹配子串左侧的文本。
-
$':位于匹配子串右侧的文本。
-
$n:匹配的第n个括号子串,其中n为一个非负整数。
注意事项:
-
replace()函数不会改变原始字符串,而是返回一个新的字符串。
-
如果searchValue是一个字符串,replace()只会替换第一个匹配项,而不是所有的匹配项。如果要替换所有匹配项,需要使用正则表达式,并且在正则表达式中加上"g"标志。
-
replace()函数是大小写敏感的,所以要确保搜索和替换的字符串大小写一致。