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


JavaScript String replace()用法及代碼示例


在本教程中,我們將借助示例了解 JavaScript 字符串 replace() 方法。

replace() 方法返回替換指定字符串/正則表達式的新字符串。

示例

const message = "ball bat";

// replace the first b with c
let result = message.replace('b', 'c');
console.log(result);

// Output: call bat

replace() 語法

用法:

str.replace(pattern, replacement)

在這裏,str 是一個字符串。

replace()參數

replace() 方法包含:

  • pattern - 要替換的字符串或正則表達式
  • replacement - pattern 替換為此 replacement(可以是字符串或函數)

relace() 返回值

  • replace() 方法返回一個替換了指定模式的新字符串。

示例 1:替換第一個匹配項

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

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

// passing a regex as the first parameter
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."

// notice the g switch in the regex pattern
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 開關的正則表達式(不區分大小寫的搜索)。

示例 3:不區分大小寫的替換

const text = "javaSCRIPT JavaScript"

// the first occurrence of javascript is replaced
let pattern = /javascript/i;  // case-insensitive search
let new_text = text.replace(pattern, "JS");
console.log(new_text)  // JS JavaScript

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

輸出

JS JavaScript
JS JS

示例 4:傳遞函數作為替換

您還可以將函數(而不是字符串)作為第二個參數傳遞給 replace() 方法。

const text = "Random digit: 3"

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

// regex to match a digit
const pattern = /\d/;

const new_text = text.replace(pattern, generateRandomDigit);
console.log(new_text)

輸出

Random digit: 8

運行此程序時,您可能會得到不同的輸出。這是因為第一個數字text被替換為之間的隨機數字09.

相關用法


注:本文由純淨天空篩選整理自 JavaScript String replace()。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。