Thứ ba, 07/01/2020 | 00:00 GMT+7

Hướng dẫn nhanh về phương pháp đối sánh chuỗi trong JavaScript


String.prototype.match() (hay còn gọi là: phương thức so khớp trên chuỗi) có thể cho phép bạn chuyển đổi chuỗi hoặc đặt điều kiện nếu một chuỗi hoặc bất kỳ dữ liệu nào được khớp. Sau đó, nó lưu trữ dữ liệu đó trong một mảng mới.

Đầu tiên là cú pháp và sau đó là giải thích:

let newArray = string.match(condition);

Thuật ngữ

Phương thức string match() sẽ trả về một mảng có các mục được so khớp từ một regular expression quy được cung cấp được tìm thấy trong chuỗi. Bạn có thể đọc thêm về biểu thức chính quy trong JavaScript tại đây .

Lưu ý , khi tất cả các điều kiện được khớp, những kết quả đó sẽ được lưu trữ trong một mảng mới.

Lấy ví dụ sau:

const intro = "Hello Alligators, Hello Devs, how are you?"

const regex = /Hello/g;

const greeting = intro.match(regex);

Ở trên sẽ cho ta một mảng như thế này: ["Hello", "Hello"] . Điều này hoạt động tốt nếu ta biết chuỗi chính xác mà ta đang tìm kiếm để khớp, nhưng còn nội dung động hoặc một trường hợp sử dụng thực tế thì sao?

Dưới đây là một ví dụ đơn giản giúp tìm các chữ cái lặp lại trong một chuỗi:

const str = 'See you later, Alligator! Not so soon baboon!';
const matches = str.match(/([a-z])\1+/gi);

console.log('H' + matches.join(""));
// "Heelloooo"

Mặc dù đây là những ví dụ đơn giản, bạn càng tìm hiểu sâu về biểu thức chính quy, phương thức chuỗi này càng trở nên mạnh mẽ hơn. Việc sử dụng đơn giản i cho chữ hoa chữ thường cho phép phương thức đối sánh làm nổi bật nhiều mục nhập hơn.


Phương thức đối sánh có 3 chế độ…

  • Thứ nhất : Nếu cờ g ( global ) được sử dụng cho RegEx của bạn, bạn sẽ nhận được tất cả kết quả được lưu trữ trong một mảng.
  • Thứ 2 : Nếu không có cờ g nào được sử dụng, kết hợp đầu tiên sẽ trả về một mảng với chỉ số chia sẻ khóa / giá trị của biểu thức được so khớp đầu tiên, đầu vào đầy đủ và sau đó là các group thu thập. Nói cách khác, kết quả tương tự như khi sử dụng RegExp.exec() .
let newYear = "Happy New Year";
let results = newYear.match(/new/i);
// [ 'New', index: 6, input: 'Happy New Year', groups: undefined ]
  • Thứ 3 : Nếu không có kết quả phù hợp, phương thức trả về null hoặc, với đoạn mã sau, một mảng trống:
let results = newYear.match(regex) || [];

Kết luận

Đối sánh là một phương pháp nhỏ thú vị được dùng theo nhiều cách sáng tạo như rút từ khóa khỏi một đoạn văn hoặc thay thế các từ nếu điều kiện trùng với regex. Hãy dành thời gian để tìm hiểu về Biểu thức chính quy trong JavaScript. Nó sẽ làm cho trận đấu hữu ích hơn cho bạn.


Tags:

Các tin liên quan

Tham quan API quyền JavaScript
2020-01-05
V8 của V8: Chuỗi liên kết tùy chọn và kết hợp Nullish trong JavaScript
2019-12-29
Phân tích cú pháp, xác thực, thao tác và hiển thị ngày và giờ trong JavaScript với Day.js
2019-12-28
Cách bắt đầu với API hiệu suất JavaScript
2019-12-25
Xem xét tất cả 13 bẫy proxy JavaScript
2019-12-19
Khám phá phương thức indexOf cho chuỗi và mảng trong JavaScript
2019-12-17
Thao tác DOM trong JavaScript với innerText và innerHTML
2019-12-14
Cách gói một gói JavaScript Vanilla để sử dụng trong React
2019-12-12
Cách phát triển một trình tải lên tệp tương tác với JavaScript và Canvas
2019-12-12
Cách sử dụng map (), filter () và Reduce () trong JavaScript
2019-12-12