Hướng dẫn how do you replace a certain character in a string in javascript? - làm thế nào để bạn thay thế một ký tự nhất định trong một chuỗi trong javascript?

Ví dụ

Thay thế Microsoft:

Đặt văn bản = "Truy cập Microsoft!"; Đặt kết quả = text.replace ("Microsoft", "W3Schools");
let result = text.replace("Microsoft", "W3Schools");

Hãy tự mình thử »

Thay thế toàn cầu:

hãy để văn bản = "Mr Blue có một ngôi nhà màu xanh và một chiếc xe màu xanh"; Đặt kết quả = text.replace (/blue/g, "màu đỏ");
let result = text.replace(/blue/g, "red");

Hãy tự mình thử »

Thay thế toàn cầu:


hãy để văn bản = "Mr Blue có một ngôi nhà màu xanh và một chiếc xe màu xanh"; Đặt kết quả = text.replace (/blue/g, "màu đỏ");

Thêm ví dụ dưới đây.

Định nghĩa và cách sử dụng

Phương thức

replace(pattern, replacement)
5 tìm kiếm một chuỗi cho một giá trị hoặc biểu thức chính quy.


Phương thức replace(pattern, replacement) 5 trả về một chuỗi mới với (các) giá trị được thay thế.

Phương thức

replace(pattern, replacement)
5 không thay đổi chuỗi ban đầu.

Ghi chú

  • Nếu bạn thay thế một giá trị, chỉ có trường hợp đầu tiên sẽ được thay thế. Để thay thế tất cả các trường hợp, hãy sử dụng biểu thức thông thường với bộ sửa đổi G.
  • Đọc thêm về các biểu thức thông thường trong của chúng tôi:


Hướng dẫn Regexp

Tham khảo RegEXP

Cú pháp

String.replace (SearchValue, NewValue)Thông số
Tham sốSự mô tả
The value, or regular expression, to search for.
SearchValueYêu cầu. Giá trị, hoặc biểu thức chính quy, để tìm kiếm.
The new value (to replace with).

NewValue

Bắt buộc. Giá trị mới (để thay thế bằng).Thông số
Tham sốSự mô tả


SearchValue

Yêu cầu. Giá trị, hoặc biểu thức chính quy, để tìm kiếm.

NewValue
let result = text.replace(/blue/gi, "red");

Hãy tự mình thử »

Bắt buộc. Giá trị mới (để thay thế bằng).

Giá trị trả lại
let result = text.replace(/blue|house|car/gi, function (x) {
  return x.toUpperCase();
});

Hãy tự mình thử »


Loại hình

Một chuỗi

Một chuỗi mới trong đó (các) giá trị được chỉ định đã được thay thế.

Nhiều ví dụ hơnThay thế toàn cầu, không nhạy cảm trường hợp: hãy để văn bản = "Mr Blue có một ngôi nhà màu xanh và một chiếc xe màu xanh"; Đặt kết quả = text.replace (/blue/gi, "màu đỏ");Một hàm để trả về văn bản thay thế: hãy để văn bản = "Mr Blue có một ngôi nhà màu xanh và một chiếc xe màu xanh"; Đặt kết quả = text.replace (/blue | house | car/gi, function (x) {& nbsp; & nbsp; return x.touppercase ();});Hỗ trợ trình duyệt
replace(pattern, replacement)
5 là tính năng ECMAScript1 (ES1).
replace(pattern, replacement)
5 là tính năng ECMAScript1 (ES1).
replace(pattern, replacement)
5 là tính năng ECMAScript1 (ES1).
replace(pattern, replacement)
5 là tính năng ECMAScript1 (ES1).
replace(pattern, replacement)
5 là tính năng ECMAScript1 (ES1).
replace(pattern, replacement)
5 là tính năng ECMAScript1 (ES1).


Có rất nhiều câu trả lời ở đây và tất cả chúng đều dựa trên hai phương pháp:

  • Phương thức1: Chia chuỗi bằng cách sử dụng hai chuỗi con và nhét ký tự giữa chúng
  • Phương thức2: Chuyển đổi chuỗi thành mảng ký tự, thay thế một thành viên mảng và tham gia nó

Cá nhân, tôi sẽ sử dụng hai phương pháp này trong các trường hợp khác nhau. Hãy để tôi giải thích.

@Fabiophms: Phương pháp của bạn là phương pháp ban đầu tôi đã sử dụng và tôi sợ rằng nó rất tệ trên chuỗi có rất nhiều ký tự. Tuy nhiên, câu hỏi là rất nhiều nhân vật? Tôi đã thử nghiệm nó trên các đoạn "Lorem Ipsum" và phải mất vài mili giây. Sau đó, tôi đã kiểm tra nó trên chuỗi lớn hơn 10 lần - thực sự không có sự khác biệt lớn. HM.

@vsync, @Cory Mawhorter: Nhận xét của bạn không rõ ràng; Tuy nhiên, một lần nữa, một chuỗi lớn là gì? Tôi đồng ý rằng đối với hiệu suất 32 ... 100kB sẽ tốt hơn và người ta nên sử dụng biến thể con cho hoạt động thay thế ký tự này.

Nhưng điều gì sẽ xảy ra nếu tôi phải thực hiện khá nhiều thay thế?

Tôi cần phải thực hiện các bài kiểm tra của riêng mình để chứng minh những gì nhanh hơn trong trường hợp đó. Giả sử chúng ta có một thuật toán sẽ thao tác một chuỗi tương đối ngắn bao gồm 1000 ký tự. Chúng tôi hy vọng rằng trung bình mỗi ký tự trong chuỗi đó sẽ được thay thế ~ 100 lần. Vì vậy, mã để kiểm tra một cái gì đó như thế này là:

var str = "... {A LARGE STRING HERE} ...";

for(var i=0; i<100000; i++)
{
  var n = '' + Math.floor(Math.random() * 10);
  var p = Math.floor(Math.random() * 1000);
  // replace character *n* on position *p*
}

Tôi đã tạo ra một câu đố cho việc này, và nó ở đây. Có hai thử nghiệm, Test1 (Subring) và Test2 (chuyển đổi mảng).

Results:

  • Test1: 195ms
  • TEST2: 6ms

Có vẻ như chuyển đổi mảng đánh bại chuỗi con theo 2 bậc độ lớn! Vậy - cái quái gì đã xảy ra ở đây ???

Điều thực sự xảy ra là tất cả các hoạt động trong Test2 được thực hiện trên chính mảng, sử dụng biểu thức gán như

replace(pattern, replacement)
9. Nhiệm vụ thực sự nhanh so với chất nền trên một chuỗi lớn, và rõ ràng rằng nó sẽ giành chiến thắng.

Vì vậy, đó là tất cả về việc chọn công cụ phù hợp cho công việc. Lại.

Phương thức

replace(pattern, replacement)
5 trả về một chuỗi mới với một, một số hoặc tất cả các trận đấu của
"xxx".replace("", "_"); // "_xxx"
1 được thay thế bằng một
"xxx".replace("", "_"); // "_xxx"
2.
"xxx".replace("", "_"); // "_xxx"
1 có thể là một chuỗi hoặc
"xxx".replace("", "_"); // "_xxx"
4 và
"xxx".replace("", "_"); // "_xxx"
2 có thể là một chuỗi hoặc một hàm được gọi cho mỗi trận đấu. Nếu
"xxx".replace("", "_"); // "_xxx"
1 là một chuỗi, chỉ có lần xuất hiện đầu tiên sẽ được thay thế. Chuỗi ban đầu không thay đổi.
replace(pattern, replacement)
5
method returns a new string with one, some, or all matches of a
"xxx".replace("", "_"); // "_xxx"
1 replaced by a
"xxx".replace("", "_"); // "_xxx"
2. The
"xxx".replace("", "_"); // "_xxx"
1 can be a string or a
"xxx".replace("", "_"); // "_xxx"
4, and the
"xxx".replace("", "_"); // "_xxx"
2 can be a string or a function called for each match. If
"xxx".replace("", "_"); // "_xxx"
1 is a string, only the first occurrence will be replaced. The original string is left unchanged.

Thử nó

Cú pháp

replace(pattern, replacement)

Thông số

"xxx".replace("", "_"); // "_xxx"
1

Có thể là một chuỗi hoặc một đối tượng với phương thức

"xxx".replace("", "_"); // "_xxx"
8 - & nbsp; ví dụ điển hình là một biểu thức chính quy. Bất kỳ giá trị nào không có phương thức
"xxx".replace("", "_"); // "_xxx"
8 sẽ bị ép buộc thành một chuỗi.

"xxx".replace("", "_"); // "_xxx"
2

Có thể là một chuỗi hoặc một hàm.

  • Nếu đó là một chuỗi, nó sẽ thay thế chuỗi con khớp với
    "xxx".replace("", "_"); // "_xxx"
    
    1. Một số mẫu thay thế đặc biệt được hỗ trợ; Xem chỉ định một chuỗi là phần thay thế bên dưới.
  • Nếu đó là một hàm, nó sẽ được gọi cho mỗi trận đấu và giá trị trả về của nó được sử dụng làm văn bản thay thế. Các đối số được cung cấp cho hàm này được mô tả trong chỉ định một hàm là phần thay thế bên dưới.

Giá trị trả về

Một chuỗi mới, với một, một số hoặc tất cả các trận đấu của mẫu được thay thế bằng cách thay thế được chỉ định.

Sự mô tả

Phương thức này không làm thay đổi giá trị chuỗi mà nó được gọi. Nó trả về một chuỗi mới.

Một mẫu chuỗi sẽ chỉ được thay thế một lần. Để thực hiện tìm kiếm toàn cầu và thay thế, hãy sử dụng biểu thức thông thường bằng cờ

"foo".replace(/(f)/, "$2"); // "$2oo"; the regex doesn't have the second group
"foo".replace("f", "$1"); // "$1oo"; the pattern is a string, so it doesn't have any groups
"foo".replace(/(f)|(g)/, "$2"); // "oo"; the second group exists but isn't matched
2 hoặc sử dụng
"foo".replace(/(f)/, "$2"); // "$2oo"; the regex doesn't have the second group
"foo".replace("f", "$1"); // "$1oo"; the pattern is a string, so it doesn't have any groups
"foo".replace(/(f)|(g)/, "$2"); // "oo"; the second group exists but isn't matched
3 thay thế.

Nếu

"xxx".replace("", "_"); // "_xxx"
1 là một đối tượng có phương thức
"xxx".replace("", "_"); // "_xxx"
8 (bao gồm các đối tượng
"xxx".replace("", "_"); // "_xxx"
4), phương thức đó được gọi với chuỗi đích và
"xxx".replace("", "_"); // "_xxx"
2 làm đối số. Giá trị trả về của nó trở thành giá trị trả về của
replace(pattern, replacement)
5. Trong trường hợp này, hành vi của
replace(pattern, replacement)
5 hoàn toàn được mã hóa bằng phương pháp
function replacer(match, p1, p2, /* …, */ pN, offset, string, groups) {
  return replacement;
}
0 - ví dụ, bất kỳ đề cập nào về "các nhóm chụp" trong mô tả dưới đây thực sự là chức năng được cung cấp bởi
function replacer(match, p1, p2, /* …, */ pN, offset, string, groups) {
  return replacement;
}
1.

Nếu

"xxx".replace("", "_"); // "_xxx"
1 là một chuỗi trống, sự thay thế được chuẩn bị để bắt đầu chuỗi.

"xxx".replace("", "_"); // "_xxx"

Một regexp với cờ

"foo".replace(/(f)/, "$2"); // "$2oo"; the regex doesn't have the second group
"foo".replace("f", "$1"); // "$1oo"; the pattern is a string, so it doesn't have any groups
"foo".replace(/(f)|(g)/, "$2"); // "oo"; the second group exists but isn't matched
2 là trường hợp duy nhất trong đó
replace(pattern, replacement)
5 thay thế nhiều lần. Để biết thêm thông tin về cách các thuộc tính Regex (đặc biệt là cờ dính) tương tác với
replace(pattern, replacement)
5, xem
function replacer(match, p1, p2, /* …, */ pN, offset, string, groups) {
  return replacement;
}
6.

Chỉ định một chuỗi là sự thay thế

Chuỗi thay thế có thể bao gồm các mẫu thay thế đặc biệt sau:

function replacer(match, p1, p2, /* …, */ pN, offset, string, groups) {
  return replacement;
}
7 và
function replacer(match, p1, p2, /* …, */ pN, offset, string, groups) {
  return replacement;
}
8 chỉ khả dụng nếu đối số
"xxx".replace("", "_"); // "_xxx"
1 là đối tượng
"xxx".replace("", "_"); // "_xxx"
4. Nếu
"xxx".replace("", "_"); // "_xxx"
1 là một chuỗi hoặc nếu nhóm chụp tương ứng không có trong regex, thì mẫu sẽ được thay thế như một nghĩa đen. Nếu nhóm có mặt nhưng không được khớp (vì nó là một phần của sự phân tách), nó sẽ được thay thế bằng một chuỗi trống.

"foo".replace(/(f)/, "$2"); // "$2oo"; the regex doesn't have the second group
"foo".replace("f", "$1"); // "$1oo"; the pattern is a string, so it doesn't have any groups
"foo".replace(/(f)|(g)/, "$2"); // "oo"; the second group exists but isn't matched

Chỉ định một chức năng là sự thay thế

Bạn có thể chỉ định một hàm là tham số thứ hai. Trong trường hợp này, chức năng sẽ được gọi sau khi trận đấu được thực hiện. Kết quả của hàm (giá trị trả về) sẽ được sử dụng làm chuỗi thay thế.

Lưu ý: Các mẫu thay thế đặc biệt được đề cập ở trên không áp dụng cho các chuỗi được trả về từ hàm thay thế. The above-mentioned special replacement patterns do not apply for strings returned from the replacer function.

Hàm có chữ ký sau:

function replacer(match, p1, p2, /* …, */ pN, offset, string, groups) {
  return replacement;
}

Các đối số cho hàm như sau:

function replacer(match, p1, p2, p3, offset, string) {
  // p1 is non-digits, p2 digits, and p3 non-alphanumerics
  return [p1, p2, p3].join(' - ');
}
const newString = 'abc12345#$*%'.replace(/([^\d]*)(\d*)([^\w]*)/, replacer);
console.log(newString);  // abc - 12345 - #$*%
2

Các chuỗi con phù hợp. (Tương ứng với

function replacer(match, p1, p2, p3, offset, string) {
  // p1 is non-digits, p2 digits, and p3 non-alphanumerics
  return [p1, p2, p3].join(' - ');
}
const newString = 'abc12345#$*%'.replace(/([^\d]*)(\d*)([^\w]*)/, replacer);
console.log(newString);  // abc - 12345 - #$*%
3 ở trên.)

function replacer(match, p1, p2, p3, offset, string) {
  // p1 is non-digits, p2 digits, and p3 non-alphanumerics
  return [p1, p2, p3].join(' - ');
}
const newString = 'abc12345#$*%'.replace(/([^\d]*)(\d*)([^\w]*)/, replacer);
console.log(newString);  // abc - 12345 - #$*%
4

Chuỗi

function replacer(match, p1, p2, p3, offset, string) {
  // p1 is non-digits, p2 digits, and p3 non-alphanumerics
  return [p1, p2, p3].join(' - ');
}
const newString = 'abc12345#$*%'.replace(/([^\d]*)(\d*)([^\w]*)/, replacer);
console.log(newString);  // abc - 12345 - #$*%
5 được tìm thấy bởi một nhóm bắt giữ (bao gồm cả các nhóm chụp được đặt tên), cung cấp đối số đầu tiên cho
replace(pattern, replacement)
5 là đối tượng
"xxx".replace("", "_"); // "_xxx"
4. . Nếu nhóm là một phần của sự khác biệt (ví dụ:
const str = 'Twas the night before Xmas...';
const newstr = str.replace(/xmas/i, 'Christmas');
console.log(newstr);  // Twas the night before Christmas...
6), thì sự thay thế chưa từng có sẽ là
const str = 'Twas the night before Xmas...';
const newstr = str.replace(/xmas/i, 'Christmas');
console.log(newstr);  // Twas the night before Christmas...
7.

const str = 'Twas the night before Xmas...';
const newstr = str.replace(/xmas/i, 'Christmas');
console.log(newstr);  // Twas the night before Christmas...
8

Phần bù của chuỗi con phù hợp trong toàn bộ chuỗi đang được kiểm tra. Ví dụ: nếu toàn bộ chuỗi là

const str = 'Twas the night before Xmas...';
const newstr = str.replace(/xmas/i, 'Christmas');
console.log(newstr);  // Twas the night before Christmas...
9 và chuỗi con phù hợp là
const re = /apples/gi;
const str = 'Apples are round, and apples are juicy.';
const newstr = str.replace(re, 'oranges');
console.log(newstr);  // oranges are round, and oranges are juicy.
0, thì đối số này sẽ là
const re = /apples/gi;
const str = 'Apples are round, and apples are juicy.';
const newstr = str.replace(re, 'oranges');
console.log(newstr);  // oranges are round, and oranges are juicy.
1.

const re = /apples/gi;
const str = 'Apples are round, and apples are juicy.';
const newstr = str.replace(re, 'oranges');
console.log(newstr);  // oranges are round, and oranges are juicy.
2

Toàn bộ chuỗi đang được kiểm tra.

const re = /apples/gi;
const str = 'Apples are round, and apples are juicy.';
const newstr = str.replace(re, 'oranges');
console.log(newstr);  // oranges are round, and oranges are juicy.
3

Một đối tượng có các khóa là tên nhóm được sử dụng và có giá trị là các phần phù hợp (

const str = 'Twas the night before Xmas...';
const newstr = str.replace(/xmas/i, 'Christmas');
console.log(newstr);  // Twas the night before Christmas...
7 nếu không khớp). Chỉ có mặt nếu
"xxx".replace("", "_"); // "_xxx"
1 chứa ít nhất một nhóm bắt giữ.

Số lượng đối số chính xác phụ thuộc vào việc đối số đầu tiên có phải là đối tượng

"xxx".replace("", "_"); // "_xxx"
4 hay không - và, nếu vậy, có bao nhiêu nhóm chụp.

Ví dụ sau sẽ đặt

const re = /apples/gi;
const str = 'Apples are round, and apples are juicy.';
const newstr = str.replace(re, 'oranges');
console.log(newstr);  // oranges are round, and oranges are juicy.
7 thành
const re = /apples/gi;
const str = 'Apples are round, and apples are juicy.';
const newstr = str.replace(re, 'oranges');
console.log(newstr);  // oranges are round, and oranges are juicy.
8:

function replacer(match, p1, p2, p3, offset, string) {
  // p1 is non-digits, p2 digits, and p3 non-alphanumerics
  return [p1, p2, p3].join(' - ');
}
const newString = 'abc12345#$*%'.replace(/([^\d]*)(\d*)([^\w]*)/, replacer);
console.log(newString);  // abc - 12345 - #$*%

Hàm sẽ được gọi nhiều lần cho mỗi trận đấu đầy đủ sẽ được thay thế nếu biểu thức chính quy trong tham số đầu tiên là toàn cầu.

Ví dụ

Xác định biểu thức chính quy trong thay thế ()

Trong ví dụ sau, biểu thức chính quy được xác định trong

replace(pattern, replacement)
5 và bao gồm cờ trường hợp bỏ qua.

const str = 'Twas the night before Xmas...';
const newstr = str.replace(/xmas/i, 'Christmas');
console.log(newstr);  // Twas the night before Christmas...

Điều này ghi nhật ký

const re = /(\w+)\s(\w+)/;
const str = 'John Smith';
const newstr = str.replace(re, '$2, $1');
console.log(newstr);  // Smith, John
0.

Sử dụng các cờ toàn cầu và Ignorecase với thay thế ()

Thay thế toàn cầu chỉ có thể được thực hiện với một biểu thức thông thường. Trong ví dụ sau, biểu thức chính quy bao gồm các cờ trường hợp toàn cầu và bỏ qua cho phép

replace(pattern, replacement)
5 thay thế mỗi lần xuất hiện
const re = /(\w+)\s(\w+)/;
const str = 'John Smith';
const newstr = str.replace(re, '$2, $1');
console.log(newstr);  // Smith, John
2 trong chuỗi bằng
const re = /(\w+)\s(\w+)/;
const str = 'John Smith';
const newstr = str.replace(re, '$2, $1');
console.log(newstr);  // Smith, John
3.

const re = /apples/gi;
const str = 'Apples are round, and apples are juicy.';
const newstr = str.replace(re, 'oranges');
console.log(newstr);  // oranges are round, and oranges are juicy.

Điều này ghi lại

const re = /(\w+)\s(\w+)/;
const str = 'John Smith';
const newstr = str.replace(re, '$2, $1');
console.log(newstr);  // Smith, John
4.

Chuyển từ trong chuỗi

Tập lệnh sau đây chuyển các từ trong chuỗi. Đối với văn bản thay thế, tập lệnh sử dụng các nhóm chụp và các mẫu thay thế

function replacer(match, p1, p2, p3, offset, string) {
  // p1 is non-digits, p2 digits, and p3 non-alphanumerics
  return [p1, p2, p3].join(' - ');
}
const newString = 'abc12345#$*%'.replace(/([^\d]*)(\d*)([^\w]*)/, replacer);
console.log(newString);  // abc - 12345 - #$*%
8 và
function replacer(match, p1, p2, p3, offset, string) {
  // p1 is non-digits, p2 digits, and p3 non-alphanumerics
  return [p1, p2, p3].join(' - ');
}
const newString = 'abc12345#$*%'.replace(/([^\d]*)(\d*)([^\w]*)/, replacer);
console.log(newString);  // abc - 12345 - #$*%
9.

const re = /(\w+)\s(\w+)/;
const str = 'John Smith';
const newstr = str.replace(re, '$2, $1');
console.log(newstr);  // Smith, John

Điều này ghi lại

const re = /(\w+)\s(\w+)/;
const str = 'John Smith';
const newstr = str.replace(re, '$2, $1');
console.log(newstr);  // Smith, John
7.

Sử dụng hàm nội tuyến sửa đổi các ký tự phù hợp

Trong ví dụ này, tất cả các lần xuất hiện của các chữ cái viết hoa trong chuỗi được chuyển đổi thành chữ thường và dấu gạch nối được chèn ngay trước vị trí khớp. Điều quan trọng ở đây là các hoạt động bổ sung là cần thiết trên mục phù hợp trước khi nó được trả lại như một sự thay thế.

Hàm thay thế chấp nhận đoạn trích phù hợp làm tham số của nó và sử dụng nó để biến đổi trường hợp và kết hợp dấu gạch nối trước khi quay lại.

function styleHyphenFormat(propertyName) {
  function upperToHyphenLower(match, offset, string) {
    return (offset > 0 ? '-' : '') + match.toLowerCase();
  }
  return propertyName.replace(/[A-Z]/g, upperToHyphenLower);
}

Cho

const re = /(\w+)\s(\w+)/;
const str = 'John Smith';
const newstr = str.replace(re, '$2, $1');
console.log(newstr);  // Smith, John
8, điều này trả về
const re = /(\w+)\s(\w+)/;
const str = 'John Smith';
const newstr = str.replace(re, '$2, $1');
console.log(newstr);  // Smith, John
9.

Bởi vì chúng tôi muốn chuyển đổi thêm kết quả của trận đấu trước khi thay thế cuối cùng, chúng tôi phải sử dụng một chức năng. Điều này buộc việc đánh giá trận đấu trước phương pháp

function styleHyphenFormat(propertyName) {
  function upperToHyphenLower(match, offset, string) {
    return (offset > 0 ? '-' : '') + match.toLowerCase();
  }
  return propertyName.replace(/[A-Z]/g, upperToHyphenLower);
}
0. Nếu chúng tôi đã cố gắng làm điều này bằng cách sử dụng trận đấu mà không có chức năng,
function styleHyphenFormat(propertyName) {
  function upperToHyphenLower(match, offset, string) {
    return (offset > 0 ? '-' : '') + match.toLowerCase();
  }
  return propertyName.replace(/[A-Z]/g, upperToHyphenLower);
}
0 sẽ không có tác dụng.

replace(pattern, replacement)
0

Điều này là do

function styleHyphenFormat(propertyName) {
  function upperToHyphenLower(match, offset, string) {
    return (offset > 0 ? '-' : '') + match.toLowerCase();
  }
  return propertyName.replace(/[A-Z]/g, upperToHyphenLower);
}
2 trước tiên sẽ được đánh giá là một chuỗi theo nghĩa đen (dẫn đến cùng một
function styleHyphenFormat(propertyName) {
  function upperToHyphenLower(match, offset, string) {
    return (offset > 0 ? '-' : '') + match.toLowerCase();
  }
  return propertyName.replace(/[A-Z]/g, upperToHyphenLower);
}
3) trước khi sử dụng các ký tự làm mẫu.

Thay thế một mức độ Fahrenheit bằng C, tương đương

Ví dụ sau đây thay thế một mức độ Fahrenheit với mức độ tương đương của nó. Bằng cấp Fahrenheit nên là một số kết thúc với

function styleHyphenFormat(propertyName) {
  function upperToHyphenLower(match, offset, string) {
    return (offset > 0 ? '-' : '') + match.toLowerCase();
  }
  return propertyName.replace(/[A-Z]/g, upperToHyphenLower);
}
4. Hàm trả về số Celsius kết thúc với
function styleHyphenFormat(propertyName) {
  function upperToHyphenLower(match, offset, string) {
    return (offset > 0 ? '-' : '') + match.toLowerCase();
  }
  return propertyName.replace(/[A-Z]/g, upperToHyphenLower);
}
5. Ví dụ: nếu số đầu vào là
function styleHyphenFormat(propertyName) {
  function upperToHyphenLower(match, offset, string) {
    return (offset > 0 ? '-' : '') + match.toLowerCase();
  }
  return propertyName.replace(/[A-Z]/g, upperToHyphenLower);
}
6, hàm trả về
function styleHyphenFormat(propertyName) {
  function upperToHyphenLower(match, offset, string) {
    return (offset > 0 ? '-' : '') + match.toLowerCase();
  }
  return propertyName.replace(/[A-Z]/g, upperToHyphenLower);
}
7. Nếu số là
function styleHyphenFormat(propertyName) {
  function upperToHyphenLower(match, offset, string) {
    return (offset > 0 ? '-' : '') + match.toLowerCase();
  }
  return propertyName.replace(/[A-Z]/g, upperToHyphenLower);
}
8, hàm trả về
function styleHyphenFormat(propertyName) {
  function upperToHyphenLower(match, offset, string) {
    return (offset > 0 ? '-' : '') + match.toLowerCase();
  }
  return propertyName.replace(/[A-Z]/g, upperToHyphenLower);
}
9.

Biểu thức thông thường

replace(pattern, replacement)
00 kiểm tra bất kỳ số nào kết thúc bằng
replace(pattern, replacement)
01. Số lượng độ Fahrenheit có thể truy cập được vào hàm thông qua tham số thứ hai của nó,
const str = 'Twas the night before Xmas...';
const newstr = str.replace(/xmas/i, 'Christmas');
console.log(newstr);  // Twas the night before Christmas...
2. Hàm đặt số Celsius dựa trên số độ Fahrenheit được truyền trong một chuỗi cho hàm
replace(pattern, replacement)
03.
replace(pattern, replacement)
03 sau đó trả về số Celsius. Hàm này xấp xỉ cờ
replace(pattern, replacement)
05 của Perl.

replace(pattern, replacement)
1

Tạo ra một người thay thế chung

Giả sử chúng tôi muốn tạo một bộ thay thế nối dữ liệu bù vào mỗi chuỗi phù hợp. Bởi vì hàm thay thế đã nhận được tham số

const str = 'Twas the night before Xmas...';
const newstr = str.replace(/xmas/i, 'Christmas');
console.log(newstr);  // Twas the night before Christmas...
8, nên nó sẽ là tầm thường nếu regex được biết đến một cách thống kê.

replace(pattern, replacement)
2

Tuy nhiên, người thay thế này sẽ khó khái quát nếu chúng ta muốn nó hoạt động với bất kỳ mẫu Regex nào. Bộ thay thế là variadic - số lượng đối số mà nó nhận được phụ thuộc vào số lượng nhóm bắt giữ có mặt. Chúng ta có thể sử dụng các tham số REST, nhưng nó cũng sẽ thu thập

const str = 'Twas the night before Xmas...';
const newstr = str.replace(/xmas/i, 'Christmas');
console.log(newstr);  // Twas the night before Christmas...
8,
const re = /apples/gi;
const str = 'Apples are round, and apples are juicy.';
const newstr = str.replace(re, 'oranges');
console.log(newstr);  // oranges are round, and oranges are juicy.
2, v.v. vào mảng. Thực tế là
const re = /apples/gi;
const str = 'Apples are round, and apples are juicy.';
const newstr = str.replace(re, 'oranges');
console.log(newstr);  // oranges are round, and oranges are juicy.
3 có thể hoặc không được thông qua tùy thuộc vào danh tính của Regex cũng sẽ khiến cho việc biết đối số nào tương ứng với
const str = 'Twas the night before Xmas...';
const newstr = str.replace(/xmas/i, 'Christmas');
console.log(newstr);  // Twas the night before Christmas...
8.

replace(pattern, replacement)
3

Ví dụ

replace(pattern, replacement)
11 ở trên không hoạt động khi Regex chứa một nhóm được đặt tên, bởi vì trong trường hợp này
replace(pattern, replacement)
12 sẽ là
const re = /apples/gi;
const str = 'Apples are round, and apples are juicy.';
const newstr = str.replace(re, 'oranges');
console.log(newstr);  // oranges are round, and oranges are juicy.
2 thay vì
const str = 'Twas the night before Xmas...';
const newstr = str.replace(/xmas/i, 'Christmas');
console.log(newstr);  // Twas the night before Christmas...
8.

Thay vào đó, bạn cần trích xuất một vài đối số cuối cùng dựa trên loại, vì

const re = /apples/gi;
const str = 'Apples are round, and apples are juicy.';
const newstr = str.replace(re, 'oranges');
console.log(newstr);  // oranges are round, and oranges are juicy.
3 là một đối tượng trong khi
const re = /apples/gi;
const str = 'Apples are round, and apples are juicy.';
const newstr = str.replace(re, 'oranges');
console.log(newstr);  // oranges are round, and oranges are juicy.
2 là một chuỗi.

replace(pattern, replacement)
4

Thông số kỹ thuật

Sự chỉ rõ
Thông số kỹ thuật ngôn ngữ Ecmascript # sec-string.prototype.replace
# sec-string.prototype.replace

Tính tương thích của trình duyệt web

Bảng BCD chỉ tải trong trình duyệt

Xem thêm

Làm thế nào để bạn thay thế một phần nhất định của một chuỗi javascript?

thay thế () là một phương thức sẵn có trong javascript được sử dụng để thay thế một phần của chuỗi đã cho bằng một số chuỗi khác hoặc biểu thức chính quy. Chuỗi ban đầu sẽ không thay đổi. Tham số: Ở đây tham số A là biểu thức chính quy và B là một chuỗi sẽ thay thế nội dung của chuỗi đã cho. is an inbuilt method in JavaScript which is used to replace a part of the given string with some another string or a regular expression. The original string will remain unchanged. Parameters: Here the parameter A is regular expression and B is a string which will replace the content of the given string.

Làm thế nào để bạn thay thế một ký tự duy nhất trong một chuỗi javascript?

Các chuỗi JavaScript là bất biến, chúng không thể được sửa đổi "tại chỗ" để bạn không thể sửa đổi một ký tự duy nhất.Trong thực tế, mọi sự xuất hiện của cùng một chuỗi là một đối tượng.you cannot modify a single character. in fact every occurence of the same string is ONE object.

Làm cách nào để thay thế một ký tự trong một chuỗi?

Giống như StringBuilder, lớp StringBuffer có một phương thức được xác định trước cho mục đích này - setcharat ().Thay thế ký tự ở chỉ mục cụ thể bằng cách gọi phương thức này và truyền ký tự và chỉ mục làm tham số.setCharAt(). Replace the character at the specific index by calling this method and passing the character and the index as the parameter.

Làm thế nào để bạn thay thế một phần tử trong một chuỗi?

Cú pháp thay thế ()..
Cú pháp: String.replace (cũ, mới, đếm).
Parameters:.
Giá trị trả về: Nó trả về một bản sao của chuỗi trong đó tất cả các lần xuất hiện của một chuỗi con được thay thế bằng một chuỗi con khác ..