Kiểm tra giá trị là chuỗi python

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"


Kiểm tra giá trị là chuỗi python

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()


Kiểm tra giá trị là chuỗi python

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

Trong bài viết này, chúng ta sẽ tìm hiểu cách so sánh chuỗi trong python. Chúng ta sẽ thảo luận về lý do tại sao chúng ta cần so sánh các chuỗi và một số toán tử so sánh chuỗi trong python là gì, với các ví dụ và mã nguồn

Chuỗi là gì?

Một chuỗi thường là một dãy các ký tự. Một ký tự là khối xây dựng của một chuỗi. Nó có thể là một chữ cái, một con số hoặc một ký hiệu. Ví dụ: trong Ngôn ngữ tiếng Anh, chúng tôi có sẵn 26 bảng chữ cái, mỗi bảng chữ cái là một bảng chữ cái

Nhưng hệ thống máy tính không hiểu các ký tự và do đó nó xử lý các số nhị phân. Tất cả các ký tự mà chúng ta thấy trên màn hình đều được lưu trữ và thao tác bên trong dưới dạng kết hợp của 0 và 1

Việc chuyển đổi các ký tự và số nhị phân được gọi là mã hóa và ngược lại được gọi là giải mã. Một số bảng mã phổ biến là ASCII và Unicode. Trong ngôn ngữ lập trình Python,

Vì vậy, chúng ta có thể định nghĩa một chuỗi là một chuỗi các ký tự Unicode hoặc theo thuật ngữ của giáo dân, một sự kết hợp của các bảng chữ cái, số hoặc ký hiệu được đặt giữa hai dấu ngoặc kép

Cần gì phải so sánh các chuỗi?

Đó là một thao tác mà mọi lập trình viên python nên học. So sánh các chuỗi rất quan trọng để kiểm tra xem hai chuỗi có giống nhau hay không. Chúng ta có thể sử dụng nó để xác minh xem hai chuỗi có bằng nhau hay không và chỉ thực hiện một tác vụ nhất định nếu chúng bằng nhau. Nó rất quan trọng đối với chức năng tìm kiếm

Giả sử bạn đã tạo cơ sở dữ liệu sinh viên cho một trường đại học. Nếu bạn muốn truy cập hồ sơ của một sinh viên cụ thể, bạn sẽ phải tìm kiếm chúng trong cơ sở dữ liệu. Để xác nhận rằng bản ghi bạn tìm thấy là bản ghi bạn muốn, bạn sẽ phải khớp tên của bản ghi với tên bạn đã nghĩ trong đầu

Trong những trường hợp như vậy, bạn cần so sánh hai chuỗi. Tương tự như vậy đối với các tình huống như kiểm tra địa chỉ email hợp lệ, kiểm tra tên tồn tại trong bản ghi, v.v.;

Toán tử so sánh chuỗi Python

Trong ngôn ngữ python, chúng ta có thể so sánh 2 chuỗi như nhận biết 2 chuỗi có tương đương với nhau hay không, thậm chí chuỗi nào lớn hơn hay nhỏ hơn nhau. Hãy để chúng tôi kiểm tra một số toán tử so sánh chuỗi được sử dụng cho mục đích này dưới đây

  • ==. Toán tử này kiểm tra xem hai chuỗi có bằng nhau không
  • =. Toán tử này kiểm tra xem hai chuỗi không bằng nhau
  • <: This operator checks whether the string on the left side is smaller than the string on the right side.
  • <=: This operator checks whether the string on the left side is smaller or equal to the string on the right side.
  • >. Toán tử này kiểm tra xem chuỗi bên trái có lớn hơn chuỗi bên phải hay không
  • >=. Toán tử này kiểm tra xem chuỗi bên trái có lớn hơn chuỗi bên phải hay không

Hãy để chúng tôi lấy một ví dụ để hiểu các toán tử này

string1 = "Abrar"
string2 = "Ahmed"
string3 = "ABCD"
string4 = "ABCD"
if string1 <= string2:
    print(string1," is smaller ",string2," is greater")
if string2 >= string4:
    print(string4," is smaller ", string2," is greater")
if string3 == string4:
    print(string3," is equal to ",string4)
if string1 != string3:
    print(string1," is not equal to ", string3)

 

đầu ra

Abrar  is smaller  Ahmed  is greater
ABCD  is smaller  Ahmed  is greater
ABCD  is equal to  ABCD
Abrar  is not equal to  ABCD

 

Kiểm tra chuỗi bằng trong Python

Trong python, chúng ta có thể kiểm tra xem các chuỗi có bằng nhau hay không bằng hai phương thức. Phương pháp đầu tiên là sử dụng toán tử đẳng thức quan hệ "==" để thực hiện so sánh chuỗi

Phương pháp thứ hai là sử dụng hàm chuỗi chuyên dụng để thực hiện so sánh, hàm __eq__(). Nó là một hàm ma thuật được định nghĩa trong lớp chuỗi và so sánh hai chuỗi để trả về True nếu chúng bằng nhau hoặc Fale nếu chúng không bằng nhau

Ví dụ

s1 = 'String'
s2 = 'String'
s3 = 'string'

# case sensitive equals check
if s1 == s2:
    print('s1 and s2 are equal.')

if s1.__eq__(s2):
    print('s1 and s2 are equal.')

 

Ở đây, chúng ta kiểm tra chuỗi s1 và s2 có bằng nhau hay không rồi sử dụng câu lệnh điều kiện “if” kết hợp với toán tử bằng

đầu ra

 s1 and s2 are equal.

 s1 and s2 are equal.

 

Còn so sánh không phân biệt chữ hoa chữ thường thì sao?

Trong khi kiểm tra sự bằng nhau trong chuỗi đôi khi chúng ta muốn bỏ qua trường hợp của chuỗi trong khi so sánh. Điều này có thể được thực hiện bằng cách đưa cả hai chuỗi mà chúng ta muốn so sánh vào một trường hợp cụ thể, nghĩa là chúng ta có thể đặt cả hai chuỗi thành chữ hoa hoặc chữ thường rồi thực hiện phép so sánh

Các trường hợp của chuỗi có thể được thay đổi với sự trợ giúp của ba hàm dựng sẵn, casefold(), upper() và Lower(). Cả hai phương thức casefold() và Lower() đều chuyển đổi chuỗi thành chữ thường

Nhưng sự khác biệt là casefold() tích cực hơn và có thể chuyển đổi nhiều chữ cái thành chữ thường hơn Lower(). Phương thức upper() có thể được sử dụng để chuyển đổi tất cả các ký tự trong chuỗi thành chữ hoa

s1 = 'String'
s2 = 'String'
s3 = 'string'

if s1.casefold() == s3.casefold():
    print(s1.casefold())
    print(s3.casefold())
    print('s1 and s3 are equal in case-insensitive comparison')

if s1.lower() == s3.lower():
    print(s1.lower())
    print(s3.lower())
    print('s1 and s3 are equal in case-insensitive comparison')

if s1.upper() == s3.upper():
    print(s1.upper())
    print(s3.upper())
    print('s1 and s3 are equal in case-insensitive comparison')

 

đầu ra

 string

 string

 s1 and s3 are equal in case-insensitive comparison

 string

 string

 s1 and s3 are equal in case-insensitive comparison

 STRING

 STRING

 s1 and s3 are equal in case-insensitive comparison

 

So sánh chuỗi có thể được thực hiện phân biệt chữ hoa chữ thường hoặc không. Để so sánh phân biệt chữ hoa chữ thường, chúng tôi sử dụng toán tử đẳng thức hoặc hàm __eq__(). Để so sánh không phân biệt chữ hoa chữ thường, chúng ta có thể thay đổi tất cả các ký tự trong chuỗi thành chữ thường bằng cách sử dụng các phương thức casefold() hoặc Lower()

Chúng ta cũng có thể chuyển đổi tất cả các ký tự thành chữ hoa bằng cách sử dụng phương thức upper()

Phần kết luận

Có nhiều tình huống khác nhau trong lập trình yêu cầu chúng ta thực hiện so sánh chuỗi như xác minh hoặc tìm kiếm tên, v.v. Bây giờ bạn đã biết cách so sánh các chuỗi trong python? . 1