JavaScript String replace() 方法

定义和用法

replace() 方法在字符串中搜索值或正则表达式。

replace() 方法返回已替换值的新字符串。

replace() 方法不会更改原始字符串。

提示:如果您替换值,则只会替换第一个实例。如需替换所有实例,请使用带有 g 修饰符集的正则表达式。

另请参阅:

正则表达式教程

正则表达式参考手册

实例

例子 1

替换 Microsoft:

let text = "Visit Microsoft!";
let result = text.replace("Microsoft", "W3School");

thử ngay

例子 2

全局替换:

let text = "Mr Blue có một ngôi nhà màu xanh và một chiếc xe màu xanh.";
let result = text.replace(/blue/g, "red");

thử ngay

例子 3

全局的、不区分大小写的替换:

let text = "Mr Blue có một ngôi nhà màu xanh và một chiếc xe màu xanh.";
let result = text.replace(/blue/gi, "red");

thử ngay

ví dụ 4

trả về hàm văn bản thay thế:

let text = "Mr Blue có một ngôi nhà màu xanh và một chiếc xe màu xanh.";
let result = text.replace(/blue|house|car/gi, function (x) {
  return x.toUpperCase();
});

thử ngay

cú pháp

string.replace(regexp, replacement)

tham số

tham số mô tả
regexp

bắt buộc. Giá trị cần tìm hoặc biểu thức chính quy.

tham số này xác định đối tượng RegExp cần thay thế.

nếu tham số này là chuỗi, thì nó sẽ được sử dụng làm mẫu văn bản trực tiếp cần tìm.

replacement

bắt buộc. Chuỗi.

định nghĩa văn bản thay thế hoặc hàm tạo văn bản thay thế.

trả về giá trị

loại mô tả
chuỗi chuỗi mới đã thay thế giá trị được chỉ định.

chi tiết kỹ thuật

trả về giá trị

trả về chuỗi mới, được tạo bằng replacement thay thế regexp thuộc tính này được lấy sau khi thực hiện khớp đầu tiên hoặc tất cả các khớp.

thuộc tính

chuỗi string trong replace() phương thức thực hiện là tìm kiếm và thay thế. Nó sẽ string để tìm kiếm với regexp chuỗi khớp, sau đó sử dụng replacement để thay thế các chuỗi này. Nếu regexp với dấu hiệu toàn cục g, thì replace() phương thức sẽ thay thế tất cả các khớp. Nếu không, nó chỉ thay thế khớp đầu tiên.

replacement có thể là chuỗi hoặc hàm. Nếu nó là chuỗi, mỗi khớp sẽ được thay thế bằng chuỗi đó. Nhưng replacement trong $ ký tự có ý nghĩa đặc biệt. Theo bảng sau, chuỗi được lấy từ việc khớp mẫu sẽ được sử dụng để thay thế.

ký tự văn bản thay thế
$1, $2, ..., $99 với regexp với các biểu thức con từ 1 đến 99.
$& với regexp chuỗi khớp.
$` đặt ở bên trái của chuỗi khớp.
$' đặt ở bên phải của chuỗi khớp.
$$ ký hiệu trực tiếp.

Lưu ý:ECMAScript v3 quy định rằngreplace() tham số phương thức replacement thường là hàm thay vì chuỗi. Trong trường hợp này, mỗi khớp sẽ gọi hàm đó, chuỗi mà hàm trả về sẽ được sử dụng làm văn bản thay thế. Tham số đầu tiên của hàm là chuỗi khớp mẫu. Các tham số tiếp theo là chuỗi khớp với các biểu thức con trong mẫu, có thể có 0 hoặc nhiều tham số như vậy. Tham số tiếp theo là một số nguyên, xác định vị trí khớp trong string vị trí xuất hiện của ký tự. string bản thân.

hỗ trợ trình duyệt

replace() Là tính năng của ECMAScript1 (ES1).

Tất cả các trình duyệt đều hỗ trợ hoàn toàn ES1 (JavaScript 1997):

Chrome IE Edge Firefox Safari Opera
Chrome IE Edge Firefox Safari Opera
Hỗ trợ Hỗ trợ Hỗ trợ Hỗ trợ Hỗ trợ Hỗ trợ

Trang liên quan

Chuỗi của JavaScript

Cách làm chuỗi của JavaScript

Tìm kiếm chuỗi của JavaScript