replace() 方法用于替换字符串中匹配的内容,结合正则表达式可实现全局替换(g标志)、忽略大小写(i标志)及动态替换(使用函数作为参数),例如将文本中所有“cat”替换为“dog”,或翻倍数字内容,掌握其用法可灵活处理各类字符串替换场景。

javaScript 中的字符串替换操作非常常见,replace() 方法是处理这一任务的核心工具。它不仅能替换固定文本,还能结合正则表达式实现更复杂的匹配与替换逻辑。
replace() 方法的基本用法
replace() 是字符串的方法,用于查找并替换第一个匹配项。默认情况下,它只替换第一个匹配到的内容。
例如:
let str = “Hello world”;
let result = str.replace(“world”, “javascript”);
console.log(result); // 输出: Hello JavaScript
注意原字符串不会被修改,因为字符串在 JavaScript 中是不可变的,replace() 返回的是新字符串。
使用正则表达式进行全局替换
如果要替换所有匹配项,必须使用正则表达式,并加上 g(global)标志。
立即学习“Java免费学习笔记(深入)”;
例如,替换所有出现的“cat”:
let text = “I saw a cat, and another cat, and yet another cat.”;
let newText = text.replace(/cat/g, “dog”);
console.log(newText);
// 输出: I saw a dog, and another dog, and yet another dog.
如果不加 g 标志,只会替换第一个 “cat”。
忽略大小写的替换
有时需要不区分大小写地替换,可以添加 i 标志。
例如:
let sentence = “Visit MY Website. My homepage is great.”;
let updated = sentence.replace(/my/gi, “your”);
console.log(updated);
// 输出: Visit your Website. your homepage is great.
这里 gi 表示全局且忽略大小写。
使用函数动态生成替换内容
replace() 的第二个参数不仅可以是字符串,还可以是函数。这个函数接收匹配的内容作为参数,并返回替换值。
例如,将每个数字翻倍:
let content = “There are 2 apples and 5 oranges.”;
let output = content.replace(/d+/g, function(match) {
return number(match) * 2;
});
console.log(output); // 输出: There are 4 apples and 10 oranges.
这个方式适合需要根据匹配内容做逻辑处理的场景。
基本上就这些。掌握 replace() 和正则表达式的组合,就能灵活应对各种字符串替换需求。关键是理解正则表达式的标志(如 g、i)以及替换函数的使用方式。不复杂但容易忽略细节。