當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


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()。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。