Psssst. TRẠI BOOTC PHÁT TRIỂN WEB 2023 sẽ bắt đầu chỉ sau vài ngày nữa. Tham gia danh sách chờ, giữ chỗ trong khóa học thuần tập kéo dài 10 tuần của tôi và tìm hiểu các nguyên tắc cơ bản, HTML, CSS, JS, Tailwind, React, Next. jsvà hơn thế nữa. ✨
Sử dụng biểu thức chính quy
Regex đơn giản này sẽ thực hiện nhiệm vụ
String.replace[//g, '']
Điều này thực hiện thay thế phân biệt chữ hoa chữ thường
Đây là một ví dụ, trong đó tôi thay thế tất cả các lần xuất hiện của từ 'dog' trong chuỗi
const phrase = 'I love my dog! Dogs are great'
const stripped = phrase.replace[/dog/g, '']
stripped //"I love my ! Dogs are great"
1const phrase = 'I love my dog! Dogs are great'
const stripped = phrase.replace[/dog/g, '']
stripped //"I love my ! Dogs are great"
Để thực hiện thay thế không phân biệt chữ hoa chữ thường, hãy sử dụng tùy chọn
const phrase = 'I love my dog! Dogs are great'
const stripped = phrase.replace[/dog/g, '']
stripped //"I love my ! Dogs are great"
2 trong biểu thức chính quyString.replace[//gi, '']
Thí dụ
const phrase = 'I love my dog! Dogs are great'
const stripped = phrase.replace[/dog/gi, '']
stripped //"I love my ! s are great"
Hãy nhớ rằng nếu chuỗi chứa một số ký tự đặc biệt, nó sẽ không hoạt động tốt với các biểu thức thông thường, vì vậy gợi ý là thoát khỏi chuỗi bằng hàm này [lấy từ]
const escapeRegExp = [string] => {
return string.replace[/[.*+?^${}[]|[\]\\]/g, '\\$&']
}
Sử dụng tách và nối
Một giải pháp thay thế, mặc dù chậm hơn regex, là sử dụng hai hàm JavaScript
Đầu tiên là
const phrase = 'I love my dog! Dogs are great'
const stripped = phrase.replace[/dog/g, '']
stripped //"I love my ! Dogs are great"
0, cắt bớt một chuỗi khi nó tìm thấy một mẫu [phân biệt chữ hoa chữ thường] và trả về một mảng có các mã thông báo Trong đoạn mã này, chúng tôi sẽ hướng dẫn bạn tìm hiểu cách thích hợp để thay thế tất cả các lần xuất hiện của một chuỗi trong JavaScript
Nói chung, hàm thay thế [] trong JavaScript được sử dụng để thay thế
Hãy bắt đầu từ cách đơn giản nhất. kết hợp hàm thay thế [] với biểu thức chính quy [regrec]
Regexp sau thực hiện thay thế phân biệt chữ hoa chữ thường
String.replace[//g, '']
Trong ví dụ tiếp theo, tất cả các lần xuất hiện của từ “động vật” được thay thế bằng cụm từ chuỗi
cụm từ const = 'Tôi yêu động vật. Động vật rất dễ thương' const tước = cụm từ. bảng điều khiển thay thế [/ động vật/g, '']. log[stripped] //"Tôi yêu. Động vật thật dễ thương"
Để thực hiện thay thế không phân biệt chữ hoa chữ thường, bạn cần sử dụng tùy chọn gi trong biểu thức chính quy, như sau
String.replace[//gi, '']
Ví dụ trông như thế này
cụm từ const = 'Tôi yêu động vật. Động vật rất dễ thương' const tước = cụm từ. bảng điều khiển thay thế [/ động vật/gi, '']. log[stripped] //"Tôi yêu. thật dễ thương"
Vui lòng xem xét rằng trong trường hợp có bên trong chuỗi, nó có thể không hoạt động tốt với các biểu thức chính quy. Đó là lý do tại sao chúng tôi khuyên bạn nên bỏ qua chuỗi bằng cách áp dụng chức năng sau
________số 8
Ngoài ra còn có một giải pháp thay thế. sử dụng hai hàm JavaScript. Mặc dù giải pháp này chậm hơn regex, nhưng nó cũng có thể khá tiện dụng
Hàm đầu tiên là split[] được nhắm mục tiêu cắt ngắn một chuỗi khi tìm thấy một mẫu và trả về một mảng có mã thông báo, như sau
cụm từ const = 'Tôi yêu động vật. Động vật thật dễ thương'; . split['con vật']; . nhật ký [mã thông báo]; . Động vật thật tuyệt"]
Sau đó, bạn cần nối các mã thông báo trong một chuỗi mới mà không cần sự trợ giúp của dấu tách
const stripped = tokens.join[''] //"I love ! Animals are great"
Khi bạn cung cấp chuỗi làm đối số đầu tiên của hàm thay thế, nó chỉ thay thế những lần xuất hiện đầu tiên của chuỗi. Sử dụng thông tin đó, bạn có thể tạo một hàm đệ quy đi qua toàn bộ chuỗi để điều tra và thay thế nó cho đến khi các kết quả khớp tổng thể được thay thế
Việc thay thế tất cả các kết quả khớp bằng tìm kiếm phân biệt chữ hoa chữ thường được thể hiện tại đây
const phrase = 'I love my dog! Dogs are great'
const stripped = phrase.replace[/dog/g, '']
stripped //"I love my ! Dogs are great"
0Vì vậy, thay thế tất cả các lần xuất hiện chuỗi JavaScript không phải là một công việc dễ dàng. Thật không may, không thể tạo nhanh các biểu thức chính quy từ một chuỗi trong thời gian chạy, vì bạn cần thoát khỏi các ký tự đặc biệt của biểu thức chính quy. Hơn nữa, thật khó để xử lý một biểu thức chính quy để thay thế các chuỗi đơn giản
May mắn thay, có Chuỗi tồn tại. nguyên mẫu. replaceAll[], có thể thay thế tất cả các lần xuất hiện chuỗi một cách đơn giản. Do đó, về cơ bản chúng tôi khuyên bạn nên dựa vào phương pháp này