当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


JavaScript String replaceAll()用法及代码示例


在本教程中,我们将借助示例了解 JavaScript 字符串 replaceAll() 方法。

replaceAll() 方法返回一个新字符串,其中模式的所有匹配都被替换。

示例

const message = "ball bat";

// replace all occurrence of b with c
let result = message.replaceAll('b', 'c');
console.log(result);

// Output: call cat

replaceAll() 语法

用法:

str.replaceAll(pattern, replacement)

在这里,str 是一个字符串。

replaceAll()参数

replaceAll() 方法包含:

  • pattern - 要替换的子字符串或正则表达式
  • replacement - pattern 替换为此 replacement(可以是字符串或函数)

返回:

  • replaceAll() 方法返回一个新字符串,其中模式的所有匹配项都由替换项替换。

注意: A RegExp没有全局 ("g") 标志会抛出一个TypeError.

示例 1:使用 replaceAll()

const text = "Java is awesome. Java is fun.";

// passing a string as the first parameter
let pattern = "Java";
let new_text = text.replaceAll(pattern, "JavaScript");
console.log(new_text);

// passing a regex as the first parameter
pattern = /Java/g;
new_text = text.replaceAll(pattern, "JavaScript");
console.log(new_text);

输出

JavaScript is awesome. JavaScript is fun
JavaScript is awesome. JavaScript is fun.

替换不考虑大写/小写

replaceAll() 方法区分大小写。要执行不区分大小写的替换,您需要使用带有i 开关的正则表达式(不区分大小写的搜索)。

示例 2:不区分大小写的替换

const text = "javaSCRIPT JavaScript";

// all occurrences of javascript is replaced
let pattern = /javascript/gi; // case-insensitive and global search
let new_text = text.replaceAll(pattern, "JS");
console.log(new_text); // JS JS

输出

JS JS

示例 3:传递函数作为替换

您还可以将函数(而不是字符串)作为第二个参数传递给 replaceAll() 方法。

const text = "3.1415";

// generate a random digit between 0 and 9
function generateRandomDigit() {
  return Math.floor(Math.random() * 10);
}

// regex to match a digit
const pattern = /\d/g;
const new_text = text.replaceAll(pattern, generateRandomDigit);
console.log(new_text);

输出

4.3518

运行此程序时,您可能会得到不同的输出。这是因为第一个数字text被替换为之间的随机数字09.

相关用法


注:本文由纯净天空筛选整理自 JavaScript String replaceAll()。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。