
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 Tết 2027: Kế hoạch tuyển dụng Developer và IT Engineer sau kỳ nghỉ
Sau kỳ nghỉ Tết, nhu cầu tuyển dụng nhân sự trong ngành CNTT gia tăng mạnh mẽ, đòi hỏi các công ty phải có chiến lược tuyển dụng hiệu quả. Từ việc hiểu rõ nhu cầu, sử dụng công nghệ hỗ trợ đến việc giữ chân nhân tài, bài viết đã phân tích chi tiết các bước cần thiết để tối ưu hóa quy trình tuyển dụng sau Tết....
Thuê kỹ sư .NET Onsite cho dự án Enterprise
Việc thuê kỹ sư .NET Onsite cho dự án Enterprise mang lại nhiều lợi ích như kiểm soát chất lượng, tối ưu hóa giao tiếp và bảo mật thông tin, nhưng cũng đối mặt với thách thức như chi phí cao và khó khăn trong việc tìm kiếm nhân tài. Sử dụng nền tảng tuyển dụng IT như Devwork.vn có thể giúp doanh nghiệp giải quyết những vấn đề này một cách hiệu quả.

Thuê kỹ sư Java Onsite: Doanh nghiệp cần lưu ý gì?
Việc thuê kỹ sư Java Onsite đòi hỏi doanh nghiệp phải chú trọng đến nhiều yếu tố như xác định nhu cầu dự án, thiết lập tiêu chí tuyển dụng, áp dụng quy trình phỏng vấn hiệu quả và xây dựng chính sách phát triển nhân tài. Sự hỗ trợ từ các nền tảng như devwork.vn có thể giúp tối ưu hóa quy trình tuyển dụng và đảm bảo thành công trong việc tìm kiếm nhân sự chất lượng.

Chi phí thuê kỹ sư IT Onsite được tính như thế nào?
Chi phí thuê kỹ sư IT Onsite chịu ảnh hưởng từ nhiều yếu tố như địa điểm, trình độ chuyên môn, ngành công nghiệp và thời gian hợp đồng. Bằng cách tối ưu hóa quy trình tuyển dụng, xây dựng thương hiệu nhà tuyển dụng mạnh và sử dụng nền tảng trực tuyến như devwork.vn, doanh nghiệp có thể tiết kiệm chi phí và thu hút ứng viên tài năng.

Sau Tết 2027 đi làm ngày nào? HR cần chuẩn bị gì để tuyển dụng nhân sự?
Sau Tết 2027, nhân viên sẽ quay lại làm việc vào ngày 13/2. HR cần chuẩn bị kỹ lưỡng để đối phó với thách thức tuyển dụng trong ngành IT khi thị trường lao động cạnh tranh khắc nghiệt. Tận dụng công nghệ và các nền tảng như devwork.vn sẽ giúp tối ưu hóa quy trình tuyển dụng.
Khi dự án tăng trưởng nhanh, doanh nghiệp nên mở rộng team IT ra sao?
Khi dự án công nghệ phát triển nhanh chóng, việc mở rộng đội ngũ IT là điều không thể tránh khỏi. Bài viết này phân tích chi tiết từng bước cần thiết từ việc xác định nhu cầu, lựa chọn mô hình mở rộng, tối ưu hóa quy trình tuyển dụng đến duy trì văn hóa công ty để đảm bảo hiệu quả tối ưu. Devwork.vn là đối tác hữu ích hỗ trợ doanh nghiệp trong quá trình này.













