Kiểm tra xem một chuỗi có chứa chuỗi con hay không là một trong những nhiệm vụ phổ biến nhất trong bất kỳ ngôn ngữ lập trình nào. Python cung cấp nhiều cách để kiểm tra xem một chuỗi có chứa chuỗi con hay không. Cách đơn giản và nhanh nhất để kiểm tra xem một chuỗi có chứa chuỗi con hay không trong Python là sử dụng toán tử "in", được sử dụng làm toán tử so sánh. Một số phương thức Python khác như find[], index[], count[], v.v. cũng giúp Kiểm tra xem một chuỗi có chứa chuỗi con không
Sử dụng toán tử "in" của Python
Cách đơn giản và nhanh nhất để kiểm tra xem một chuỗi có chứa chuỗi con hay không trong Python là toán tử "in". Toán tử này trả về true nếu chuỗi chứa ký tự, ngược lại trả về false
đầu ra
Toán tử "in" trong Python nhận hai đối số, một ở bên trái và một ở bên phải và trả về True nếu chuỗi đối số bên trái được chứa trong chuỗi đối số bên phải
Tìm hiểu thêm về toán tử "in"
Ghi chú. Toán tử "in" phân biệt chữ hoa chữ thường i. e, nó sẽ xử lý các ký tự Chữ hoa và Chữ thường khác nhau
hàm __chứa__[]
Lớp Chuỗi trong Python có phương thức __contains__[] mà chúng ta có thể sử dụng để kiểm tra xem nó có chứa chuỗi khác hay không. Khi chúng ta sử dụng toán tử "in" trong Python, bên trong nó gọi hàm __contains__[]. Phương thức __contains__ xác định cách các thể hiện của lớp hoạt động khi chúng xuất hiện ở phía bên phải của toán tử in và không phải trong toán tử. Chúng ta cũng có thể sử dụng chức năng này trực tiếp, nhưng không. Các phương thức bắt đầu bằng dấu gạch dưới được coi là riêng tư về mặt ngữ nghĩa, tuy nhiên, bạn nên sử dụng toán tử in vì mục đích dễ đọc
Sử dụng str của Python. phương thức tìm[]
Một phương pháp khác bạn có thể sử dụng là chuỗi. phương thức tìm[]. Phương thức find[] đánh giá xem chuỗi có chứa chuỗi con không. Nếu đúng như vậy, phương thức find[] trả về chỉ mục bắt đầu của một chuỗi con trong chuỗi nếu không nó sẽ trả về -1
đầu ra
Tìm hiểu thêm về phương thức find[]
Sử dụng str. phương thức find[] là cách ít Pythonic hơn, nhưng nó vẫn được chấp nhận. Nó dài hơn và khó hiểu hơn một chút, nhưng nó vẫn hoàn thành công việc
Sử dụng biểu thức chính quy Python
Biểu thức chính quy được sử dụng rộng rãi để khớp mẫu. Python có một gói tích hợp gọi là re, có thể được sử dụng để làm việc với Biểu thức chính quy. Mô-đun re chứa một hàm gọi là search[] , nó có thể được sử dụng để kiểm tra xem một chuỗi có chứa mẫu tìm kiếm đã chỉ định hay không
thí dụ
đầu ra
Sử dụng str. phương thức đếm[]
Nếu bạn muốn đếm số lần xuất hiện của một chuỗi con cụ thể trong một chuỗi, thì bạn có thể sử dụng phương thức đếm[] của Python. Nếu không tìm thấy chuỗi con trong một chuỗi, hàm trả về 0
Sử dụng toán tử not in
để kiểm tra xem một chuỗi có chứa chuỗi con đã cho hay không, e. g. if substring not in string:
. Toán tử not in
sẽ trả về True
nếu chuỗi con không được chứa trong chuỗi và False
nếu không
Toán tử in kiểm tra tư cách thành viên. Ví dụ: x in s
đánh giá thành True
nếu x
là thành viên của s
, nếu không, nó đánh giá thành False
if substring not in string:
0 trả về phủ định của x in s
Nếu bạn cần kiểm tra xem một chuỗi không chứa chuỗi con theo cách phân biệt chữ hoa chữ thường hay không, hãy chuyển đổi cả hai chuỗi thành chữ thường
các str. phương thức Lower trả về một bản sao của chuỗi với tất cả các ký tự có vỏ được chuyển đổi thành chữ thường
Bằng cách chuyển đổi cả hai chuỗi thành cùng một trường hợp, chúng tôi có thể thực hiện kiểm tra tư cách thành viên không phân biệt chữ hoa chữ thường
Nếu bạn cần kiểm tra xem một chuỗi không chứa bất kỳ chuỗi nào từ danh sách hay không, hãy sử dụng hàm if substring not in string:
2
Chúng tôi đã sử dụng biểu thức trình tạo để lặp qua danh sách
Biểu thức trình tạo được sử dụng để thực hiện một số thao tác cho mọi phần tử hoặc chọn một tập hợp con các phần tử đáp ứng một điều kiện
Trên mỗi lần lặp, chúng tôi sử dụng toán tử not in
để kiểm tra xem mục danh sách hiện tại không có trong chuỗi hay không
Hàm tích hợp all[] lấy một iterable làm đối số và trả về True
nếu tất cả các phần tử trong iterable là true [hoặc iterable trống]
Biểu thức trình tạo được sử dụng để thực hiện một số thao tác cho mọi phần tử hoặc chọn một tập hợp con các phần tử đáp ứng một điều kiện
Trên mỗi lần lặp, chúng tôi kiểm tra xem mục danh sách hiện tại không có trong chuỗi hay không và trả về kết quả
Toán tử in kiểm tra tư cách thành viên. Ví dụ: x in s
đánh giá thành True
nếu x
là thành viên của s
, nếu không, nó đánh giá thành False
not in
0 trả về phủ định của x in s
Hàm tích hợp all[] lấy một iterable làm đối số và trả về True
nếu tất cả các phần tử trong iterable là true [hoặc iterable trống]
Nếu bạn cần kiểm tra xem chuỗi có chứa ít nhất một trong các chuỗi từ danh sách hay không, hãy sử dụng hàm not in
3 để thay thế
Hàm any lấy một iterable làm đối số và trả về True
nếu bất kỳ phần tử nào trong iterable là đúng
Trên mỗi lần lặp, chúng tôi kiểm tra xem mục danh sách hiện tại có chứa trong chuỗi hay không và trả về kết quả
Nếu điều kiện được đáp ứng cho bất kỳ mục nào trong danh sách, chức năng not in
3 sẽ đoản mạch và trả về True
Nếu bạn cần thực hiện kiểm tra tư cách thành viên không phân biệt chữ hoa chữ thường, hãy chuyển đổi cả hai chuỗi thành chữ thường
các str. phương thức Lower trả về một bản sao của chuỗi với tất cả các ký tự có vỏ được chuyển đổi thành chữ thường
Chuyển đổi cả hai chuỗi thành chữ thường hoặc chữ hoa cho phép chúng tôi kiểm tra tư cách thành viên theo cách không phân biệt chữ hoa chữ thường
Nếu bạn cần tìm các mục danh sách có trong chuỗi, hãy sử dụng tính năng hiểu danh sách
Khả năng hiểu danh sách được sử dụng để thực hiện một số thao tác cho mọi phần tử hoặc chọn một tập hợp con các phần tử đáp ứng một điều kiện