JavaScript replace() 语法
replace() 是 JavaScript 字符串的一个方法,它可以使用另一个字符串来替换当前字符串的符合条件的子串。
语法:
str.replace(pattern, replacement)说明:
replace() 方法接收以下 2 个参数。
pattern(必选):是一个字符串或一个正则表达式。replacement(必选):表示使用哪个字符串来代替。
str.replace(pattern, replacement) 其实很好理解,它表示先根据 pattern 来匹配出字符串中符合的子串,然后再使用 replacement 来替换这些子串。
注意:
- replace() 方法不会修改原字符串,而是返回一个新字符串。
- 默认情况下,replace() 方法只会替换第 1 个匹配项。如果想要替换所有匹配项,需要使用正则表达式的 “g” 标志,或者使用 replaceAll() 方法。
JavaScript replace() 摘要
| 属于 | JavaScript 替换字符串 |
|---|---|
| 使用频率 | 高 |
| 修改原字符串 | 否 |
| 官方文档 | 查看 |
| MDN | 查看 |
JavaScript replace() 示例
接下来,我们通过几个简单的例子来讲解一下 JavaScript replace() 方法是如何使用的。
示例 1:replace() 不会修改原字符串
const str = "I love JavaScript JavaScript.";
const result = str.replace("JavaScript", "Python");
console.log(str);
console.log(result);运行结果如下。
I love JavaScript JavaScript.
I love Python JavaScript.分析:
从结果可以看出,replace() 方法不会修改原字符串,而是返回一个新字符串(即替换后的字符串)。
示例 2:replace() 基本用法
const str = "I love JavaScript JavaScript.";
// 使用指定字符串
const result1 = str.replace("JavaScript", "Python");
console.log(result1);
// 使用正则表达式
const result2 = str.replace(/JavaScript/, "Python");
console.log(result2);运行结果如下。
I love Python JavaScript.
I love Python JavaScript.分析:
默认情况下,replace() 方法只会替换第 1 个匹配项。如果想要替换所有匹配项,需要借助正则表达式的 “g” 参数来实现。
示例 3:replace() 替换所有匹配项
const str = "I love JavaScript JavaScript.";
const result = str.replace(/JavaScript/g, "Python");
console.log(result);运行结果如下。
I love Python Python.分析:
这里使用了正则表达式的 “g” 标志,此时 replace() 会替换所有匹配项。如果想要使得 replace() 方法不考虑大小写,可以使用正则表达式的 “i” 标志。
示例 4:replace() 不考虑大小写的替换
const str = "I love JavaScript javascript.";
const result = str.replace(/JavaScript/ig, "Python");
console.log(result);运行结果如下。
I love Python Python.分析:
在大多数主流编程语言中(如 C++、Java、Python、JavaScript 等),正则表达式都是非常重要的。
replace() 与 replaceAll()
字符串的 replace() 和 replaceAll() 这两个方法很相似,它们之间的区别是:默认情况下,replace() 方法只会替换第 1 个匹配项,而 replaceAll() 方法则会替换所有匹配项。
示例 5:replace() vs replaceAll()
const str = "I love JavaScript JavaScript.";
const result1 = str.replace("JavaScript", "Python");
console.log(result1);
const result2 = str.replaceAll("JavaScript", "Python");
console.log(result2);运行结果如下。
I love Python JavaScript.
I love Python Python.提示: replace() 完全可以结合 “g” 标志,然后来取代 replaceAll()。对于初学小伙伴来说,为了避免记忆负担,可以只重点掌握 replace()。
