Hướng dẫn thay thế ký tự trong chuỗi JavaScript. Bạn sẽ học được cách thay thế ký tự trong chuỗi JavaScript bằng phương thức replace() sau bài học này.Chúng ta có 6 phương pháp thay thế ký tự trong chuỗi JavaScript như sau:

Thay thế lần xuất hiện đầu tiên của ký tự trong chuỗi JavaScript (replace)Thay thế toàn bộ ký tự trong chuỗi JavaScript (replace)Thay thế ký tự trong chuỗi JavaScript bằng chuỗi đặc biệt (replace và ký hiệu $)Thay thế ký tự trong chuỗi JavaScript tại vị trí bất kỳ (slice và toán tử +)Thay thế lần xuất hiện cuối cùng của ký tự trong chuỗi JavaScript (slice và lastIndexOf)Thay thế lần xuất hiện thứ n của ký tự trong chuỗi JavaScript(substring và for)

Ngoài ra, bằng cách ứng dụng việc thay thế ký tự trong chuỗi JavaScript bằng phương thức replace thì chúng ta cũng có thể tiến hành xóa ký tự trong chuỗi JavaScript.

Đang xem: Hàm thay thế chuỗi trong javascript

Phương thức replace() trong JavaScript

replace() là một phương thức của đối tượng String trong JavaScript, có tác dụng thay thế ký tự chỉ định trong chuỗi ban đầu bằng một chuỗi ký tự khác và tạo ra một chuỗi thay thế. Phép thay thế này sẽ không làm thay đổi chuỗi ban đầu.

*

Chúng ta sử dụng phương thức replace để thay thế ký tự trong chuỗi JavaScript với cú pháp sau đây:

str.replace( chuỗi cần thay thế , chuỗi thay thế )

Trong đó chuỗi cần thay thế sẽ được thay thế bởi chuỗi thay thế nếu nó tồn tại trong chuỗi str ban đầu.

Ví dụ cụ thể:

Copy

'Tôi ghét em'.replace('ghét', 'yêu'); //Tôi yêu em

Chúng ta có thể chỉ định chuỗi cần thay thế bằng một ký tự, một chuỗi ký tự, hoặc là một biểu thức chính quy (regular expressions).

Với chuỗi thay thế new_str, chúng ta có thể chỉ định nó bởi một chuỗi thông thường, hoặc là một chuỗi đặc biệt bằng cách sử dụng thêm ký tự $.

Lưu ý là phương thức replace() về mặc định sẽ chỉ thay thế chuỗi đầu tiên được tìm thấy (tính từ đầu chuỗi ban đầu) mà thôi. Do đó nếu một chuỗi xuất hiện nhiều lần trong chuỗi ban đầu thì chỉ có lần xuất hiện đầu tiên của chuỗi đó được thay thế mà thôi.

Để có thể để thay thế toàn bộ các ký tự trong chuỗi, chúng ta cần phải sử dụng replace() kết hợp với một biểu thức chính quy (regular expressions) với chỉ định glocal flag. Chúng ta sẽ cùng làm rõ chúng trong các phần dưới đây.

Thay thế ký tự trong chuỗi JavaScript bằng phương thức replace()

Chúng ta sử dụng phương thức replace() theo cách thông thường để thay thế lần xuất hiện đầu tiên của ký tự trong chuỗi JavaScript.

Ví dụ, chúng ta thay thế chuỗi red xuất hiện đầu tiên trong chuỗi bởi chuỗi ORANGE bằng replace() như sau:

Copy

let str = 'red hat and red book';let new_str = str.replace('red', 'ORANGE');console.log(new_str);//> ORANGE hat and red book

Bạn có thể thấy, chuỗi red tuy xuất hiện 2 lần trong chuỗi ban đầu, nhưng chỉ có lần xuất hiện đầu tiên của nó trong chuỗi ban đầu được thay thế bởi chuỗi thay thế ORANGE mà thôi.

Chúng ta cũng có thể chỉ định chuỗi cần thay thế bằng một biểu thức chính quy (regular expressions). Khi đó phương thức replace() sẽ tiến hành tìm trong chuỗi ban đầu tất cả các chuỗi có thể biểu diễn được bởi biểu thức chính quy này, và tiến hành thay thế lần tìm thấy đầu tiên.

Ví dụ chúng ta có thể thay thế ký tự xuống dòng đầu tiên trong chuỗi thông qua biểu thức chính quy /
/ như sau:

Copy

let str = 'Tôi
yêu
em';console.log(str);//Tôi //yêu //emlet new_str = str.replace(/
/, 'không');console.log(new_str);// Tôikhôngyêu//em

Lưu ý là phương thức replace() sẽ không làm thay đổi chuỗi ban đầu mà chỉ copy toàn bộ chuỗi đó, tiến hành thay thế, và lưu kết quả dưới dạng một chuỗi thay thế mà thôi. Hãy thử kiểm tra chuỗi ban đầu trước và sau khi thay thế ký tự bởi replace() như sau:

Copy

let str = 'abcde';console.log(str);//abcdeconsole.log(str.replace('b', 'XZY'));//aXZYcdeconsole.log(str);//abcde

Bạn có thể thấy chuỗi ban đầu không hề bị thay đổi rồi phải không nào? Do đó nếu bạn muốn sử dụng lại kết quả của phương thức replace() trong JavaScript, hãy nhớ gán kết quả đó vào một biến để tái sử dụng sau này nhé.

Xem thêm: Gợi Ý Cách Triệt Lông Bằng Mỡ Trăn Triệt Lông Bí Quyết Của Các Spa

Thay thế toàn bộ ký tự trong chuỗi JavaScript bằng replace()

Về mặc định thì phương thức replace sẽ chỉ thay thế ký tự trong lần nó xuất hiện đầu tiên trong chuỗi ban đầu.

Tuy nhiên bằng cách sử dụng replace() kết hợp với một biểu thức chính quy (regular expressions) với chỉ định glocal flag, chúng ta hoàn toàn có thể thay thế toàn bộ ký tự trong chuỗi JavaScript ban đầu.

Ví dụ, chúng ta sẽ xóa toàn bộ các ký tự city trong chuỗi bigcityboy như sau:

Copy

str = “big city boy big city girl”;console.log(str.replace(/city/g, 'village'));//> big village boy big village girl

Lưu ý là nếu chúng ta không chỉ định glocal flag trong biểu thức chính quy thì phương thức replace() cũng chỉ có thể thay thế ký tự trong lần xuất hiện đầu tiên của nó mà thôi.

Copy

str = “big city boy big city girl”;console.log(str.replace(/city/, 'village'));//> big village boy big city girl

Ưng dụng khả năng này của phương thức replace() khi sử dụng với biểu thức chính quy ở định dạng glocal, chúng ta có thể tiến hành Xoá toàn bộ khoảng trắng trong chuỗi JavaScript.

Thay thế ký tự trong chuỗi JavaScript bằng chuỗi đặc biệt | ký hiệu $

Chúng ta có thể sử dụng một chuỗi đặc biệt để chỉ định chuỗi thay thế khi sử dụng phương thức replace(), thông qua việc sử dụng ký hiệu đô la $.Các chuỗi được bắt đầu bởi ký hiệu này hàm chứa các ý nghĩa đặc biệt như bảng sau đây:

Ký hiệuÝ nghĩa
$& chuỗi được khớp
$` phần trước của chuỗi được khớp trong chuỗi ban đầu
$' phần sau của chuỗi được khớp trong chuỗi ban đầu
$$ ký tự $
$1, $2,… Thứ tự chuỗi được khớp trong biểu thức chính quy

Hãy xem các ví dụ sau đây để hiểu rõ hơn:

Ví dụ 1: thay thế chuỗi được khớp

Copy

let str = 'Honda Kiyoshi Suzuki';let special1 = '$&Chis';console.log(str.replace('Kiyoshi',special1));//> Honda KiyoshiChis Suzuki

Ở ví dụ này chuỗi cần thay thế là Kiyoshi. Do $& có ý nghĩa là chuỗi được khớp (trong trường hợp này là chuỗi cần thay thế), nên kết quả $&Chis' là sự kết hợp của chuỗi này với chuỗi Chis để tạo ra chuỗi thay thế là KiyoshiChis.

Ví dụ 2: thay thế chuỗi được khớp bởi phần trước nó trong chuỗi ban đầu

Copy

let str = 'Honda Kiyoshi Suzuki';let special2 = '$`Chis' ;console.log(str.replace('Kiyoshi',special2));//> Honda Honda Chis Suzuki

Ở ví dụ này chuỗi cần thay thế là Kiyoshi. Do $` có ý nghĩa là phần trước chuỗi được khớp (trong trường hợp này là chuỗi cần thay thế), nên kết quả $` là sự kết hợp của phần trước chuỗi này trong chuỗi ban đầu (là chuỗi 'Honda ' ) với chuỗi Chis để tạo ra chuỗi thay thế mới là 'Honda Chis'.

Ví dụ 3: thay thế chuỗi được khớp bởi phần sau nó trong chuỗi ban đầu

Copy

let str = 'Honda Kiyoshi Suzuki';let special3 = “$'Chis” ;console.log(str.replace('Kiyoshi',special3));//> Honda Honda Chis Suzuki

Ở ví dụ này chuỗi cần thay thế là Kiyoshi. Do $' có ý nghĩa là phần sau chuỗi được khớp (trong trường hợp này là chuỗi cần thay thế), nên kết quả $'Chis là sự kết hợp của phần sau chuỗi này trong chuỗi ban đầu (là chuỗi ' Suzuki' ) với chuỗi Chis để tạo ra chuỗi thay thế mới là ' SuzukiChis'.

Ví dụ 4: chỉ định thứ tự chuỗi được khớp trong biểu thức chính quy

Ví dụ, chúng ta có thể thay thế chuỗi ngày sinh nhật thông qua biểu thức chính quy như sau:

Copy

Thay thế ký tự trong chuỗi JavaScript tại vị trí bất kỳ

Do trong JavaScript không tồn tại phương thức hay hàm nào giúp chúng ta có thể thay thế ký tự trong chuỗi JavaScript tại vị trí chỉ định bất kỳ, do đó chúng ta cần phải kết hợp nhiều xử lý khác nhau mới có thể làm được điều này.

Xem thêm: Bạn Đã Chơi Free Fire? Vậy Súng Máy Trong Free Fire Là Súng Gì ?

Một phương pháp đơn giản và hay được sử dụng nhất ở đây đó là, chúng ta sẽ tách chuỗi ban đầu tại vị trí chỉ định để tạo ra 2 chuỗi con (không bao gồm ký tự cần thay thế), và sau đó sử dụng phương pháp nối chuỗi trong JavScript để nối 2 chuỗi này lại với ký tự thay thế.

Related Post

Leave a Reply

Your email address will not be published. Required fields are marked *