3 cách để thay đổi tất cả các lần xuất hiện chuỗi trong JavaScript

Blog / Tin công nghệ 02/11/2023
3-cach-de-thay-doi-tat-ca-cac-lan-xuat-hien-chuoi-trong-javascript
Phụ lục

Trong bài đăng này, ban sẽ tìm hiểu cách thay thế tất cả các lần xuất hiện chuỗi trong JavaScript bằng cách tách và nối một chuỗi, string.replace() kết hợp với biểu thức chính quy toàn cực và string.replaceAll().

Tách và nối một mảng

Nếu google cách thay thế tất cả các lần xuất hiện chuỗi trong JavaScript, cách tiếp cận đầu tiền bạn có thể tìm thấy là sử dụng một mảng trung gian:

Đây là cách hoạt động

1.Chia stringthành pieceschuỗi search:

2.Sau đó nối các mảnh đặt replacechuỗi ở giữa:

Ví dụ: hãy thay thế tất cả khoảng trắng ' 'bằng dấu gạch nối '-'trong 'duck duck go'chuỗi:

Js Mở bản demo

'duck duck go'.split(' ')chia chuỗi thành nhiều phần: ['duck', 'duck', 'go'].

Sau đó, các mảnh ['duck', 'duck', 'go'].join('-')được nối lại bằng cách chèn '-'vào giữa chúng, tạo ra chuỗi 'duck-duck-go'.

Đây là một hàm trợ giúp tổng quát sử dụng phương pháp chia tách và nối:

JS Mở bản demo.

Cách tiếp cận này yêu cầu chuyển đổi chuỗi thành một mảng và sau đó quay lại thành chuỗi. Hãy tiếp tục tìm kiếm những lựa chọn thay thế tốt hơn.

Thay thế () bằng biểu tượng thức chính quy toàn cục

Phương thức chuỗi string.replace(regExpSearch, replaceWith)tìmkiếm và thay thế các lần xuất hiện của biểu thức chính quy regExpSearchbằng replaceWithchuỗi.

Để làm cho phương thức replace()thay thế tất cả các lần xuất hiện của mẫu - bạn phải bật cờ chung trên biểu thức chính quy:

  1. Nối gvào cuối biểu thức chính quy theo nghĩa đen:/search/g
  2. Hoặc khi sử dụng hàm tạo biểu thức chính quy, hãy thêm 'g'vào đối số thứ hai:new RegExp('search', 'g')

Hãy thay thế tất cả các lần xuất hiện của ' 'bằng '-':

JS Mở bản demo

Biểu thức chính quy /\s/g(lưu ý gcờ chung) khớp với khoảng trắng ' '.

'duck duck go'.replace(/\s/g, '-')thay thế tất cả các kết quả khớp /\s/gbằng '-', dẫn đến 'duck-duck-go'.

Bạn có thể dễ dàng thực hiện thay thế không phân biệt chữ hoa chữ thường bằng cách thêm icờ vào biểu thức chính quy:

JS Mở bản demo

Biểu thức chính quy /\s/g(lưu ý gcờ chung) khớp với khoảng trắng ' '.

'duck duck go'.replace(/\s/g, '-')thay thế tất cả các kết quả khớp /\s/gbằng '-', dẫn đến 'duck-duck-go'.

Bạn có thể dễ dàng thực hiện thay thế không phân biệt chữ hoa chữ thường bằng cách thêm icờ vào biểu thức chính quy:

Biểu thức chính quy /duck/githực hiện tìm kiếm không phân biệt chữ hoa chữ thường (ghi chú ivà gcờ). /duck/gitrận đấu 'DUCK', cũng như 'Duck'.

Việc gọi 'DUCK Duck go'.replace(/duck/gi, 'goose')sẽ thay thế tất cả kết quả khớp của /duck/gichuỗi con bằng 'goose'.

Biểu thức chính quy từ một chuỗi

Khi biểu thức chính quy được tạo từ một chuỗi, bạn phải thoát khỏi các ký tự - [ ] / { } ( ) * + ? . \ ^ $ |vì chúng có ý nghĩa đặc biệt trong biểu thức chính quy.

Vì vậy, các ký tự đặc biệt là một vấn đề khi bạn muốn thực hiện thay thế mọi thao tác. Đây là một ví dụ:

JS Mở bản demo

Đoạn mã trên cố gắng chuyển chuỗi tìm kiếm '+'thành một biểu thức chính quy. Nhưng '+'là một biểu thức chính quy không hợp lệ nên sẽ SyntaxError: Invalid regular expression: /+/bị loại bỏ.

Thoát khỏi nhân vật '\\+'sẽ giải quyết được vấn đề. JS thử bản demo cố định

Thay thế() bằng một chuỗi

Nếu đối số đầu tiên searchcủa string.replace(search, replaceWith)là một chuỗi thì phương thức này chỉ thay thế lần xuất hiện đầu tiên của search:

JS Mở bản demo

'duck duck go'.replace(' ', '-')chỉ thay thế sự xuất hiện đầu tiên của một khoảng trắng.

Phương thức thay thếAll()

Cuối cùng, phương thức này string.replaceAll(search, replaceWith)thay thế tất cả sự xuất hiện của searchchuỗi bằng replaceWith.

Hãy thay thế tất cả các lần xuất hiện của ' 'bằng '-':

JS mở bản demo

'duck duck go'.replaceAll(' ', '-')thay thế tất cả các lần xuất hiện của ' 'chuỗi bằng '-'.

string.replaceAll(search, replaceWith)là cách tốt nhất để thay thế tất cả các lần xuất hiện chuỗi trong một chuỗi

Lưu ý rằng trình duyệt hỗ trợ phương pháp này hiện bị hạn chế và bạn có thể yêu cầu polyfill .

Sự khác biệt giữa thay thếAll() và thay thế()

Các phương thức chuỗi replaceAll(search, replaceWith)và replace(search, replaceWith)cách hoạt động đều giống nhau, ngoại trừ 2 điều:

  1. Nếu searchđối số là một chuỗi, replaceAll()thay thế tất cả các lần xuất hiệnsearch bằng , replaceWithtrong khi chỉ replace()thay thế lần xuất hiện đầu tiên
  2. Nếu searchđối số là một biểu thức chính quy không toàn cục thì sẽ replaceAll()đưa ra một TypeErrorngoại lệ.


Devwork

Devwork là Nền tảng TUYỂN DỤNG IT CẤP TỐC với mô hình kết nối Nhà tuyển dụng với mạng lưới hơn 30.000 headhunter tuyển dụng ở khắp mọi nơi.Với hơn 1800 doanh nghiệp IT tin dùng Devwork để :

  • Tối ưu chi phí
  • Tiết kiệm thời gian
  • Tăng tốc tuyển dụng tối đa
  • Đăng ký ngay Devwork trong hôm nay để tuyển dụng những tài năng ưu tú nhất.

    Tag Cloud:

    Tác giả: quyenntt

    Link chia sẻ

    Bình luận

    Việc làm tại Devwork

    khám phá các cơ hội việc làm tốt nhất tại Devwork Xem thêm

    Bài viết liên quan

    Danh sách bài viết liên quan có thể bạn sẽ thích Xem thêm
    luong-gross-la-gi

    Lương gross là gì? Cách quy đổi lương gross sang net dễ hiểu nhất

    07:48 12/12/2025

    Khi phỏng vấn hoặc đọc hợp đồng lao động, lương gross là cụm từ xuất hiện gần như 100%. Nhưng lương gross là gì mà lại quan trọng đến vậy? Nếu bạn đang bối rối chưa biết lương gross là gì và lương net là gì thì bài viết này Devwork sẽ giúp bạn hiểu tường tận từ khái niệm, cách tính cho đến cách quy đổi đơn giản nhất....

    Cách đặt mật khẩu máy tính đơn giản, bảo mật tuyệt đối 2026

    07:34 12/12/2025

    Chiếc máy tính, dù là PC hay laptop không chỉ là công cụ làm việc mà còn là "ngân hàng" lưu trữ vô số dữ liệu quan trọng: tài liệu cá nhân, thông tin ngân hàng, hình ảnh riêng tư... Nếu một ngày, những thông tin này rơi vào tay kẻ xấu, hậu quả sẽ thế nào? Chỉ với vài bước đơn giản, bạn có thể bảo vệ máy tính an toàn tuyệt đối bằng cách đặt mật khẩu máy tính. Bài viết này Devwork sẽ hướng dẫn chi tiết từ A-Z, phù hợp cho cả người dùng laptop và PC, giúp bạn tự làm được ngay lần đầu tiên.

    cach-dat-mat-khau-may-tinh

    Intern là gì? Toàn bộ những điều bạn cần biết về vị trí Intern

    09:39 02/12/2025

    Với sự gia tăng mạnh mẽ của nhu cầu tuyển dụng thực tập sinh tại các doanh nghiệp, khái niệm intern và internship ngày càng trở nên quen thuộc, đặc biệt với sinh viên năm cuối, người mới ra trường. Tuy nhiên, không ít bạn trẻ vẫn còn băn khoăn intern là gì, làm intern là làm gì, hay công việc intern có gì khác với fresher. Trong bài viết này, Devwork.vn sẽ giúp bạn hiểu rõ hơn về vị trí intern, đồng thời chia sẻ những cơ hội thực tập hấp dẫn dành cho người mới bắt đầu.

    intern-la-gi

    Case study là gì? Phương pháp phân tích case study hiệu quả

    04:07 25/11/2025

    Case study không phải cụm từ xa lạ trong marketing, kinh doanh hay học tập. Nhưng làm sao để tiếp cận và giải case study hiệu quả thì không phải ai cũng biết và làm được. Chính vì vậy, trong bài viết hôm nay, cùng Devwork đi tìm hiểu chi tiết về case study là gì, khám phá bí mật đằng sau các case study thành công, từ đó giúp bạn có cái nhìn toàn diện nhất để áp dụng vào công việc hoặc doanh nghiệp của mình.

    case-study-la-gi
    product-owner-la-gi

    Product Owner (PO) là gì? Giải mã vai trò quan trọng trong IT

    17:00 24/11/2025

    Trong những năm gần đây, đặc biệt là trong môi trường phát triển linh hoạt Agile và Scrum, vai trò của PO ngày càng trở nên quan trọng. PO là thuật ngữ quen thuộc trong lĩnh vực IT và quản lý dự án, nhưng không phải ai cũng hiểu rõ. Vậy PO là gì, PO là viết tắt của từ gì và vai trò thực sự của PO trong doanh nghiệp là gì? Bài viết này Devwork sẽ giải thích chi tiết, giúp bạn nắm bắt kiến thức cốt lõi và ứng dụng hiệu quả.

    singleton-pattern-la-gi

    Singleton Pattern là gì? Hướng dẫn chi tiết cách triển khai trong Java và Python

    04:00 24/11/2025

    Singleton pattern là gì và tại sao nó lại quan trọng trong phát triển phần mềm? Khi bạn cần đảm bảo rằng một class chỉ có duy nhất một thực thể trong suốt vòng đời ứng dụng, Singleton chính là giải pháp hoàn hảo. Bài viết này sẽ giúp bạn hiểu rõ về mẫu thiết kế này, cách triển khai và những tình huống nên (hoặc không nên) áp dụng nó.