HomeLập trìnhJavaScriptCách kiểm tra...

Cách kiểm tra xem chuỗi có chứa chuỗi con hay không trong JavaScript


Khi làm việc với chương trình JavaScript, bạn có thể cần kiểm tra xem một chuỗi có chứa chuỗi con hay không. Một chuỗi con là một chuỗi bên trong một chuỗi khác.

Cụ thể, bạn có thể cần kiểm tra xem một từ có chứa một ký tự cụ thể hoặc một bộ ký tự cụ thể hay không.

Rất may, có một số cách nhanh chóng để đạt được điều này với JavaScript.

Trong bài viết này, bạn sẽ tìm hiểu hai cách khác nhau để kiểm tra xem một chuỗi có chứa chuỗi con hay không bằng cách sử dụng các phương thức JavaScript.

Cụ thể, bạn sẽ học:

  • Cách sử dụng tích hợp includes() phương pháp Javascript.
  • Cách sử dụng tích hợp indexOf() phương pháp Javascript.

Đây là những gì chúng tôi sẽ đề cập chi tiết hơn:

  1. Phân tích cú pháp của includes() phương thức trong JavaScript
    1. Cách kiểm tra xem một chuỗi có chứa một chuỗi con cụ thể hay không bằng cách sử dụng includes() phương pháp
  2. Phân tích cú pháp của indexOf() phương thức trong JavaScript
    1. Cách kiểm tra xem một chuỗi có chứa một chuỗi con cụ thể hay không bằng cách sử dụng indexOf() phương pháp
  3. Cách thực hiện kiểm tra phân biệt chữ hoa chữ thường với includes()indexOf() phương pháp

cái gì là includes() Phương thức trong JavaScript? includes() Phân tích cú pháp phương pháp

JavaScript includes() đã được giới thiệu với ES6 và đây là cách phổ biến và hiện đại nhất để kiểm tra xem một chuỗi có chứa một ký tự cụ thể hay một chuỗi ký tự hay không.

Cú pháp chung cho includes() phương pháp trông giống như thế này:

string.includes(substring, index);

Hãy chia nhỏ nó ra:

  • string là từ bạn muốn tra cứu.
  • includes() là phương pháp bạn gọi từ mà bạn muốn tìm kiếm, trong trường hợp này là string.
  • Các includes() phương thức chấp nhận hai đối số – một đối số là bắt buộc và một đối số là tùy chọn.
  • Lập luận đầu tiên của includes() phương pháp chấp nhận là substringvà nó là cần thiết. substring là ký tự hoặc chuỗi ký tự bạn đang kiểm tra xem chúng có tồn tại trong string.
  • Lập luận thứ hai của includes() phương pháp chấp nhận là indexvà nó là không bắt buộc. index đề cập đến vị trí mà từ đó tìm kiếm substring sẽ bắt đầu – giá trị mặc định là bởi vì lập chỉ mục trong ngôn ngữ lập trình bắt đầu tại .

Giá trị trả về là một giá trị Boolean. Một giá trị Boolean có thể là true hoặc false tùy thuộc vào việc chuỗi con có hay không có trong chuỗi.

Đọc thêm  Hướng dẫn setTimeout JavaScript – Cách sử dụng JS Tương đương với chế độ ngủ, chờ, trì hoãn và tạm dừng

Một điều cần ghi nhớ là includes() phương pháp là trường hợp nhạy cảm.

Cách kiểm tra xem một chuỗi có chứa một chuỗi con cụ thể trong JavaScript hay không bằng cách sử dụng includes() Phương pháp

Hãy xem một ví dụ về cách includes() phương pháp hoạt động.

Đầu tiên, tôi tạo một biến chứa chuỗi Hello, World – đây là chuỗi tôi muốn tìm kiếm thông qua:

let string= "Hello, World";

Tiếp theo, tôi đã tạo một biến với chuỗi con Hello – đây là chuỗi con tôi muốn tìm trong chuỗi gốc:

let string= "Hello, World";
let substring = "Hello";

Tiếp theo, tôi sẽ kiểm tra xem substring có mặt trong string sử dụng includes() phương thức và in kết quả ra bàn điều khiển:

let string= "Hello, World";
let substring = "Hello";

console.log(string.includes(substring));

// output
// true

Giá trị trả về là trueÝ nghĩa Hello có mặt trong biến string.

Như đã đề cập ở phần trên, các includes() phương pháp phân biệt chữ hoa chữ thường.

Xem điều gì xảy ra khi tôi thay đổi giá trị của substring từ Hello đến hello:

let string= "Hello, World";
let substring = "hello";

console.log(string.includes(substring));

// output
// false

Giá trị trả về, trong trường hợp này, là falsevì không có chuỗi con hello với một chữ thường h. Vì vậy, hãy ghi nhớ điều này khi làm việc với includes() phương pháp – nó phân biệt giữa chữ hoa và chữ thường.

Bây giờ, hãy xem cách sử dụng includes() phương thức với đối số thứ hai, index.

Xin nhắc lại, đối số thứ hai chỉ định vị trí mà bạn muốn bắt đầu tìm kiếm chuỗi con.

Hãy làm như vậy string biến từ các ví dụ trước:

let string= "Hello, World";

Tôi sẽ thay đổi giá trị của substring biến thành H:

let string= "Hello, World";
let substring = "H";

Và tôi sẽ chỉ định việc tìm kiếm chuỗi con bắt đầu từ vị trí :

let string= "Hello, World";
let substring = "H";

console.log(string.includes(substring,0));

// output
// true

Giá trị trả về là true bởi vì chuỗi con H đang ở vị trí chỉ số trong chuỗi Hello, World.

Hãy nhớ rằng, chữ cái đầu tiên trong một chuỗi có vị trí là vị trí thứ hai của 1và như thế.

cái gì là indexOf() Phương thức trong JavaScript? indexOf() Phân tích cú pháp phương pháp

Tương tự như includes() phương pháp, JavaScript indexOf() phương thức kiểm tra xem một chuỗi có bao gồm một chuỗi con hay không.

Đọc thêm  Cách sử dụng phá hủy trong JavaScript để viết mã sạch hơn, mạnh hơn

Cú pháp chung cho indexOf() phương pháp trông giống như thế này:

string.indexOf(substring, index);

Hãy chia nhỏ nó ra:

  • string là từ bạn muốn tra cứu.
  • index0f() là phương pháp bạn gọi từ mà bạn muốn tìm kiếm, trong trường hợp này, string.
  • Các includes() phương thức nhận hai đối số – một đối số là bắt buộc và một đối số là tùy chọn.
  • Lập luận đầu tiên cho indexOf() phương pháp là substringvà nó là cần thiết. substring là ký tự hoặc chuỗi ký tự bạn đang tìm kiếm.
  • Lập luận thứ hai cho indexOf() phương pháp là indexvà nó là không bắt buộc. index đề cập đến vị trí mà từ đó tìm kiếm substring sẽ bắt đầu. Giá trị mặc định là bởi vì lập chỉ mục trong ngôn ngữ lập trình bắt đầu tại .

Sự khác biệt giữa hai phương thức là giá trị trả về của chúng.

Các includes() phương thức trả về một giá trị Boolean (một giá trị hoặc là true hoặc false), trong khi indexOf() phương thức trả về một số.

Số này sẽ là vị trí chỉ mục bắt đầu nơi chuỗi con bạn đang tìm kiếm được tìm thấy trong chuỗi. Giá trị trả về sẽ là -1 nếu không tìm thấy chuỗi con trong chuỗi.

Và cũng giống như includes() phương pháp, các indexOf() phương pháp là trường hợp nhạy cảm.

Cách kiểm tra xem một chuỗi có chứa một chuỗi con cụ thể trong JavaScript hay không bằng cách sử dụng indexOf() Phương pháp

Hãy sử dụng cùng một ví dụ từ trước đó để xem làm thế nào indexOf() phương pháp hoạt động.

let string= "Hello, World";
let substring = "H";

Có biến string với chuỗi ban đầu và biến substring với chuỗi con bạn đang tìm kiếm.

let string= "Hello, World";
let substring = "H";

console.log(string.indexOf(substring));

// output
// 0

đầu ra là là vị trí bắt đầu của chuỗi con mà bạn đang tìm kiếm.

Trong trường hợp này, giá trị bạn đang tìm kiếm là một ký tự.

Hãy thay đổi giá trị của substring từ H đến Hello:

let string= "Hello, World";
let substring = "Hello";

console.log(string.indexOf(substring));

// output
// 0

Giá trị trả về lại là từ index0f() trả về bắt đầu vị trí của chuỗi con bạn đang tìm kiếm. Vì ký tự đầu tiên của chuỗi con nằm ở Chức vụ, indexOf() lợi nhuận .

Bây giờ, hãy thay đổi giá trị của substring từ Hello đến hello với một chữ thường h:

let string= "Hello, World";
let substring = "hello";

console.log(string.indexOf(substring));

// output
// -1

Giá trị trả về là -1. Như đã đề cập trước đây, index0f() phân biệt chữ hoa chữ thường, vì vậy nó không thể tìm thấy chuỗi con hello với chữ thường h. Và khi indexOf() không thể tìm thấy chuỗi con đã cho, nó trả về -1.

Cuối cùng, bạn có thể chỉ định giá trị chỉ mục mà bạn muốn bắt đầu tìm kiếm bằng cách chuyển đối số thứ hai indexOf() chấp nhận.

let string= "Hello, World";
let substring = "hello";

console.log(string.indexOf(substring,1));

// output
// -1

Giả sử bạn muốn bắt đầu tìm kiếm từ vị trí 1. Giá trị trả về là -1 vì vị trí bắt đầu của chuỗi con mà bạn đang tìm kiếm là . Không tìm thấy kết quả khớp chính xác tại vị trí 1 Vì thế indexOf() lợi nhuận -1.

Cách thực hiện kiểm tra không phân biệt chữ hoa chữ thường với includes()indexOf() phương pháp

Cho đến nay, bạn đã thấy rằng includes()indexOf() phương pháp không phân biệt chữ hoa chữ thường.

Đọc thêm  JavaScript DOM hoạt động như thế nào – Hướng dẫn thực hành

Nhưng điều gì sẽ xảy ra khi bạn muốn thực hiện kiểm tra phân biệt chữ hoa chữ thường?

Để thực hiện kiểm tra phân biệt chữ hoa chữ thường và xem liệu chuỗi con có tồn tại trong một chuỗi hay không, bạn sẽ cần chuyển đổi cả chuỗi gốc và chuỗi con thành chữ thường bằng cách sử dụng toLowerCase() phương thức JavaScript trước khi gọi một trong hai phương thức.

Đây là cách bạn sẽ làm điều đó bằng cách sử dụng includes() phương pháp:

let string= "Hello, World";
let substring = "hello";

console.log(string.toLowerCase().includes(substring.toLowerCase()));

// output
// true

Theo mặc định, giá trị trả về sẽ là false bởi vì chuỗi gốc chứa chữ hoa Htrong khi chuỗi con chứa chữ thường h. Sau khi chuyển đổi cả hai chuỗi thành chữ thường, bạn không phải lo lắng về cách viết hoa của chuỗi gốc và chuỗi con mà bạn đang tìm kiếm.

Và đây là cách bạn sẽ làm điều tương tự bằng cách sử dụng indexOf() phương pháp:

let string= "Hello, World";
let substring = "hello";

console.log(string.toLowerCase().indexOf(substring.toLowerCase()));

// output
// 0

Theo mặc định, giá trị trả về sẽ là -1 bởi vì bản gốc
chuỗi và chuỗi con bạn đang tìm kiếm có các trường hợp khác nhau.

Sau khi sử dụng toLowerCase() phương pháp, các indexOf() phương thức trả về vị trí bắt đầu của chuỗi con.

Phần kết luận

Và bạn có nó rồi đấy! Bây giờ bạn đã biết cách kiểm tra xem một chuỗi có chứa chuỗi con hay không trong JavaScript.

Để tìm hiểu thêm về JavaScript, hãy xem Chứng nhận cấu trúc dữ liệu và thuật toán JavaScript của freeCodeCamp.

Đó là một chương trình giảng dạy miễn phí, được cân nhắc kỹ lưỡng và có cấu trúc, nơi bạn sẽ học một cách tương tác. Cuối cùng, bạn cũng sẽ xây dựng 5 dự án để nhận chứng chỉ và củng cố kiến ​​thức của mình.

Cảm ơn vì đã đọc!



Zik.vn – Biên dịch & Biên soạn Lại

spot_img

Create a website from scratch

Just drag and drop elements in a page to get started with Newspaper Theme.

Buy Now ⟶

Bài viết liên quang

DMCA.com Protection Status