📅  最后修改于: 2023-12-03 15:01:39.405000             🧑  作者: Mango
在 JavaScript 中,replace()
方法用于替换字符串中的字母、单词或者正则表达式匹配到的内容。这个方法返回一个新的字符串,原始字符串并不会受到改变。
replace()
方法有两种用法:一种是替换第一个匹配到的内容,另一种是替换所有匹配到的内容。你可以使用字符串作为替换的值,也可以使用函数来自定义替换逻辑。
string.replace(searchValue, replaceValue)
searchValue
:要替换的内容或者正则表达式。replaceValue
:替换的新内容或者一个用于替换的函数。如果你只想替换字符串中第一个匹配到的内容,可以将 searchValue
指定为一个字符串。
const originalString = 'Hello, World!';
const newString = originalString.replace('Hello', 'Hi');
console.log(newString); // 输出 "Hi, World!"
如果你想替换字符串中所有匹配到的内容,可以使用正则表达式作为 searchValue
。
const originalString = 'Hello, Hello, Hello!';
const newString = originalString.replace(/Hello/g, 'Hi');
console.log(newString); // 输出 "Hi, Hi, Hi!"
在这个例子中,我们使用 /Hello/g
作为正则表达式,其中 /
表示正则表达式的开始和结束,g
表示全局,意味着替换所有匹配项。
除了字符串之外,你还可以使用一个函数来自定义替换的逻辑。
const originalString = 'Hello, World!';
const vowels = ['a', 'e', 'i', 'o', 'u'];
const newString = originalString.replace(/[aeiou]/gi, (match) => {
if (vowels.includes(match.toLowerCase())) {
return match.toUpperCase();
}
return match;
});
console.log(newString); // 输出 "HEllO, WOrld!"
在这个例子中,我们使用正则表达式 /[aeiou]/gi
来匹配字符串中的所有元音字母。然后,我们通过使用一个函数来替换这些匹配项。如果匹配到的字符在 vowels
数组中出现,我们将它替换为大写形式,否则保持不变。
replace()
方法不会改变原始字符串,它会返回一个新的字符串。你需要将返回值赋值给一个新的变量,或者使用它来替换原始字符串。searchValue
是一个字符串,则只会替换第一个匹配项。如果你想替换所有匹配项,需要使用正则表达式,并且在正则表达式末尾添加 g
标志。