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
    rentid-nen-tang-giup-chu-xe-kiem-tra-thong-tin-va-danh-gia-uy-tin-khach-thue

    RentID – Nền tảng giúp chủ xe kiểm tra thông tin và đánh giá uy tín khách thuê

    06:41 10/08/2026

    Điểm tín nhiệm khách thuê xe giúp chủ xe đánh giá mức độ uy tín của khách hàng trước khi giao xe, đồng thời tạo cơ hội để khách thuê xây dựng lịch sử tín nhiệm qua từng giao dịch. RentID.vn mang đến giải pháp minh bạch hơn cho thị trường thuê xe tự lái....

    8car – Ứng dụng thuê xe tự lái an toàn nhờ công nghệ AI

    09:42 30/07/2026

    Khám phá 8car - nền tảng thuê xe tự lái ứng dụng AI giúp xác thực người thuê, quản lý hợp đồng, tăng tính an toàn cho chủ xe và mang đến trải nghiệm thuê xe hiện đại.

    8car-ung-dung-thue-xe-tu-lai-an-toan-nho-cong-nghe-ai

    Top 5 ứng dụng thuê xe tự lái tốt nhất tại Việt Nam

    02:33 31/07/2026

    Chỉ với vài thao tác trên điện thoại, bạn có thể tìm kiếm hàng trăm mẫu xe, so sánh giá, đặt lịch và nhận xe nhanh chóng. Mô hình kết nối trực tiếp giữa chủ xe và khách thuê cũng giúp mức giá cạnh tranh và đa dạng lựa chọn hơn. Đây là xu hướng đang phát triển mạnh tại Việt Nam.

    top-5-ung-dung-thue-xe-tu-lai-tot-nhat-tai-viet-nam

    SALD – CRM tích hợp Gmail giúp quản lý khách hàng hiệu quả ngay trong hộp thư

    16:20 29/07/2026

    Trong nhiều doanh nghiệp, Gmail đã trở thành công cụ làm việc chính. Mỗi ngày nhân viên kinh doanh, chăm sóc khách hàng hay quản lý đều dành hàng giờ để gửi email, trao đổi báo giá, theo dõi dự án và chăm sóc khách hàng.Tuy nhiên, Gmail vốn chỉ được thiết kế để gửi và nhận email. Khi số lượng khách hàng tăng lên, việc tìm kiếm lịch sử trao đổi, ghi nhớ thông tin khách hàng hay theo dõi tiến độ xử lý trở nên khó khăn.

    sald-crm-tich-hop-gmail-giup-quan-ly-khach-hang-hieu-qua-ngay-trong-hop-thu
    onsite-nhat-ban

    Onsite Nhật Bản: Điều Kiện, Cơ Hội Và Kinh Nghiệm Thành Công

    07:26 30/06/2026

    Onsite Nhật Bản là mục tiêu nghề nghiệp của nhiều kỹ sư công nghệ thông tin nhờ mức thu nhập hấp dẫn, môi trường làm việc chuyên nghiệp và cơ hội phát triển quốc tế. Tuy nhiên, không phải ai cũng hiểu rõ onsite là gì, cần chuẩn bị những gì và cơ hội phát triển ra sao. Bài viết dưới đây sẽ giúp bạn hiểu toàn diện về hình thức làm việc onsite tại Nhật Bản và những kinh nghiệm thực tế để gia tăng cơ hội được lựa chọn.

    viec-lam-it-nhat-ban

    Việc Làm IT Nhật Bản: Cơ Hội Nghề Nghiệp, Mức Lương & Điều Kiện Ứng Tuyển Mới Nhất

    08:45 29/06/2026

    Việc làm IT Nhật Bản đang trở thành lựa chọn hấp dẫn đối với nhiều kỹ sư công nghệ Việt Nam nhờ mức lương cạnh tranh, môi trường làm việc chuyên nghiệp và cơ hội phát triển quốc tế. Không chỉ các lập trình viên giàu kinh nghiệm, ngay cả Fresher và Junior Developer cũng có nhiều cơ hội tiếp cận thị trường lao động Nhật Bản. Vậy ngành IT tại Nhật đang tuyển dụng những vị trí nào, yêu cầu ra sao và mức thu nhập có thực sự hấp dẫn? Cùng Devwork tìm hiểu chi tiết trong bài viết dưới đây.