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 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 ..

Bài Viết Liên Quan

Toplist mới

Bài mới nhất

Chủ Đề