Tìm hiểu cách thay thế khoảng trắng bên trong chuỗi bằng JavaScript bằng cách sử dụng Regex [Biểu thức chính quy] — một công cụ để tìm các mẫu trong văn bản
Regex [thường được đánh vần là “RegEx hoặc “RegExp”] là một công cụ hiệu quả để làm việc với các chuỗi [văn bản]. Các trường hợp sử dụng phổ biến nhất của Regex là
- Xác thực văn bản
- tìm kiếm văn bản
Hôm nay, bạn sẽ học từ một ví dụ đơn giản sử dụng biểu thức chính quy để thay thế tất cả khoảng trắng trong một dòng văn bản [chuỗi] bằng không có gì — nhưng bạn có thể sử dụng ví dụ mã sau để thay thế khoảng trắng bằng các ký tự khác
Khoảng trắng được coi là một ký tự. Vì vậy, mọi khoảng cách giữa các từ trong câu bạn đang đọc này được tính là một ký tự khoảng trắng
Câu này có 6 ký tự khoảng trắng
Để thay thế các ký tự khoảng trắng, regex có một ký tự meta được gọi là \s
tìm kiếm một ký tự khoảng trắng duy nhất, bao gồm dòng mới, tab và Unicode
Như thế này
const sentence = "This sentence has 6 white space characters."
console.log[sentence.replace[/\s/g, ""]]
// Thissentencehas6whitespacecharacters.
Điều gì đang xảy ra trong mã
- Đầu tiên, chúng tôi đính kèm phương thức
replace[]
vào biếnsentence
tham chiếu đến chuỗi mà chúng tôi muốn xóa khoảng trắng khỏi - Sau đó, thêm ký tự meta
\s
đã nói ở trên làm đối số để tìm các ký tự khoảng trắng. Bởi vì dấu gạch chéo ngược [\
] là một ký tự thoát dành riêng trong JavaScript, nên chúng tôi thêm/
trước dấu gạch chéo này để bỏ dấu gạch chéo, do đó, dấu gạch chéo ngược sẽ trở thành/\s/
- Sau đó, chúng tôi sử dụng cờ toàn cầu
0, cho JavaScript biết rằng chúng tôi muốn tìm tất cả các ký tự khoảng trắng từ chuỗi. Nếu bạn không thêmconst sentence = "This sentence has 6 white space characters." const sentenceRemoveWhiteSpace = sentence.replace[/\s/g, ""] console.log[sentenceRemoveWhiteSpace] // Thissentencehas6whitespacecharacters.
0, thì chỉ trường hợp khoảng trắng đầu tiên [giữaconst sentence = "This sentence has 6 white space characters." const sentenceRemoveWhiteSpace = sentence.replace[/\s/g, ""] console.log[sentenceRemoveWhiteSpace] // Thissentencehas6whitespacecharacters.
2] sẽ được thay thếconst sentence = "This sentence has 6 white space characters." const sentenceRemoveWhiteSpace = sentence.replace[/\s/g, ""] console.log[sentenceRemoveWhiteSpace] // Thissentencehas6whitespacecharacters.
- Cuối cùng, chúng ta đang thay thế khoảng trắng bằng cái gì?
Ghi chú. chúng tôi chưa sửa đổi biến sentence
ban đầu bằng cách thực hiện điều này, chúng tôi chỉ sử dụng
const sentence = "This sentence has 6 white space characters."
const sentenceRemoveWhiteSpace = sentence.replace[/\s/g, ""]
console.log[sentenceRemoveWhiteSpace]
// Thissentencehas6whitespacecharacters.
5 để in ra nó sẽ trông như thế nào nếu bạn sử dụng phương pháp biểu thức chính quy const sentence = "This sentence has 6 white space characters."
const sentenceRemoveWhiteSpace = sentence.replace[/\s/g, ""]
console.log[sentenceRemoveWhiteSpace]
// Thissentencehas6whitespacecharacters.
6 trên đóNếu bạn muốn thay đổi giá trị của biến sentence
để không chứa khoảng trắng, bạn cần gán nó cho một biến mới, sau đó tham chiếu biến đó từ bây giờ khi bạn cần truy cập vào nó
Như thế này
const sentence = "This sentence has 6 white space characters."
const sentenceRemoveWhiteSpace = sentence.replace[/\s/g, ""]
console.log[sentenceRemoveWhiteSpace]
// Thissentencehas6whitespacecharacters.
Và để chắc chắn rằng toán học của tôi đúng, hãy sử dụng một phương thức regex hữu ích khác có tên là
const sentence = "This sentence has 6 white space characters."
const sentenceRemoveWhiteSpace = sentence.replace[/\s/g, ""]
console.log[sentenceRemoveWhiteSpace]
// Thissentencehas6whitespacecharacters.
8 để đếm số lượng ký tự khoảng trắng trong biến sentence
ban đầu và xem nó có thực sự là 6 không