
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:
'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:
- Nối
gvào cuối biểu thức chính quy theo nghĩa đen:/search/g - 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 '-':
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 /\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ụ:
Đ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:
'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 '-':
'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:
- Nếu
searchđối số là một chuỗi,replaceAll()thay thế tất cả các lần xuất hiệnsearchbằng ,replaceWithtrong khi chỉreplace()thay thế lần xuất hiện đầu tiên - 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ộtTypeErrorngoại lệ.

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 để :
Tag Cloud:
Tác giả: quyenntt
Việc làm tại Devwork
Bài viết liên quan
Lịch nghỉ Tết Nguyên đán 2027: Cẩm nang tuyển dụng và quản lý nhân sự IT
Lịch nghỉ Tết Nguyên đán 2027 đặt ra nhiều thách thức cho ngành IT, từ việc quản lý nhân sự đến tuyển dụng. Bài viết phân tích chi tiết các chiến lược giúp doanh nghiệp vượt qua kỳ nghỉ dài này, từ lập kế hoạch nguồn nhân lực, duy trì hiệu quả công việc, đến tận dụng cơ hội tuyển dụng. Ngoài ra, Devwork.vn được giới thiệu như một giải pháp hàng đầu hỗ trợ tuyển dụng IT....
Kế hoạch tuyển dụng IT năm 2027: Chuẩn bị nhân sự trước và sau Tết Nguyên đán
Thời điểm trước và sau Tết Nguyên đán là giai đoạn quan trọng cho tuyển dụng nhân sự IT. Các công ty cần lập kế hoạch chi tiết và áp dụng các chiến lược sáng tạo để tuyển dụng và giữ chân nhân viên hiệu quả. Nền tảng devwork.vn cung cấp giải pháp tối ưu hỗ trợ doanh nghiệp trong quá trình này.

Lịch nghỉ Tết 2027: 10 việc HR nên hoàn thành trước khi nghỉ lễ
Kỳ nghỉ Tết 2027 đòi hỏi HR và dân IT phải chuẩn bị kỹ lưỡng để đảm bảo hoạt động công ty không bị gián đoạn. Từ việc hoàn thiện kế hoạch nhân sự, tổ chức sự kiện nội bộ, đến việc đảm bảo an toàn và bảo mật hệ thống công nghệ, mọi thứ đều cần được thực hiện một cách chu đáo. Đừng quên tham khảo devwork.vn để tìm kiếm nguồn nhân lực IT chất lượng cho doanh nghiệp của bạn.

Tuyển Developer sau Tết 2027: Cách chuẩn bị JD và quy trình tuyển dụng
Việc tuyển developer sau Tết là một thách thức lớn đối với nhà tuyển dụng với nhiều yếu tố cần xem xét từ việc chuẩn bị JD đến quy trình tuyển dụng. Bài viết cung cấp cái nhìn chi tiết và sâu sắc về cách tối ưu hóa từng giai đoạn của quá trình này, giúp doanh nghiệp thu hút và chọn lọc được các ứng viên tốt nhất.

Lịch nghỉ Tết 2027: Khi nào ứng viên IT bắt đầu tìm việc trở lại?
Thị trường lao động IT thường chững lại trong kỳ nghỉ Tết, nhưng các ứng viên thường bắt đầu tìm việc trở lại từ giữa tháng 2. Nắm bắt các yếu tố ảnh hưởng và tối ưu hóa chiến lược tìm việc sẽ giúp ứng viên nhanh chóng hòa nhập lại với thị trường. Nền tảng tuyển dụng Devwork.vn là công cụ hữu ích cho ứng viên IT trong quá trình này.
Tết 2027 nghỉ bao nhiêu ngày? Ảnh hưởng thế nào đến kế hoạch tuyển dụng IT?
Khi Tết Nguyên Đán 2027 đến gần, nhiều công ty IT đối mặt với thách thức trong việc duy trì kế hoạch tuyển dụng suôn sẻ. Bài viết này phân tích chi tiết về số ngày nghỉ Tết, tác động đến tuyển dụng IT và cung cấp giải pháp hiệu quả. Nền tảng devwork.vn được giới thiệu như một công cụ hỗ trợ đắc lực trong việc tìm kiếm nhân tài trong ngành IT.












