JavaScript 字符串的replace()方法
replace()
方法返回一个新字符串,其中指定的字符串/正则表达式已被替换。
示例
const message = "ball bat";
// 将第一个 b 替换为 c
let result = message.replace("b", "c");
console.log(result);
// 输出:call bat
replace() 语法
replace()
的语法是:
str.replace(pattern, replacement);
这里,str 是一个字符串。
replace() 参数
replace()
方法接受:
pattern
- 要被替换的字符串或正则表达式replacement
- 用于替换pattern
的replacement
(可以是字符串或函数)
replace() 返回值
replace()
方法返回一个新字符串,其中指定的模式已被替换。
示例 1:替换第一次出现
const text = "Java is awesome. Java is fun.";
// 将字符串作为第一个参数传递
let pattern = "Java";
let new_text = text.replace(pattern, "JavaScript");
console.log(new_text);
// 将正则表达式作为第一个参数传递
pattern = /Java/;
new_text = text.replace(pattern, "JavaScript");
console.log(new_text);
输出
JavaScript is awesome. Java is fun.
JavaScript is awesome. Java is fun.
在这两种 replace()
方法中,第一次出现的 Java 被替换为 JavaScript。
示例 2:替换所有出现
要替换所有出现的 pattern
, 需要使用带有 g
开关的正则表达式(全局搜索)。例如,使用 /Java/g
而不是 /Java/
。
const text = "Java is awesome. Java is fun.";
// 注意正则表达式模式中的 g 开关
const pattern = /Java/g;
const new_text = text.replace(pattern, "JavaScript");
console.log(new_text);
输出
JavaScript is awesome. JavaScript is fun.
在这里,replace()
方法将两次出现的 Java
替换为 JavaScript
。
不考虑大写/小写的替换
replace()
方法是区分大小写的。要执行不区分大小写的替换,需要使用带有 i
开关的正则表达式(不区分大小写的搜索)。