JavaScript中的replace()函数是用于替换字符串中的某个子串的方法。该方法接受两个参数:要替换的子串和替换后的字符串。
语法:
string.replace(searchValue, replaceValue)
参数说明:
- searchValue:要替换的子串,可以是一个字符串或者一个正则表达式。
- replaceValue:替换后的字符串,可以是一个字符串或者一个函数。
返回值:
返回一个新的字符串,其中所有的searchValue都被replaceValue替换。
使用示例:
1. 替换字符串中的所有匹配项
```
let str = "Hello World!";
let newStr = str.replace("World", "JavaScript");
console.log(newStr); // 输出:Hello JavaScript!
```
2. 使用正则表达式替换字符串中的所有匹配项
```
let str = "Hello World!";
let newStr = str.replace(/o/g, "0");
console.log(newStr); // 输出:Hell0 W0rld!
```
3. 使用函数来替换字符串中的匹配项
```
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()函数是大小写敏感的,所以要确保搜索和替换的字符串大小写一致。