HomeLập trìnhPythonPython find() –...

Python find() – Cách tìm kiếm một chuỗi con trong một chuỗi


Khi làm việc với một chương trình Python, bạn có thể cần tìm kiếm và định vị một chuỗi cụ thể bên trong một chuỗi khác.

Đây là lúc các phương thức chuỗi tích hợp sẵn của Python trở nên hữu ích.

Trong bài viết này, bạn sẽ tìm hiểu cách sử dụng tính năng tích hợp sẵn của Python find() string để giúp bạn tìm kiếm một chuỗi con bên trong một chuỗi.

Đây là những gì chúng tôi sẽ đề cập:

  1. Cú pháp của find() phương pháp
    1. Cách sử dụng find() ví dụ không có tham số bắt đầu và kết thúc
    2. Cách sử dụng find() với ví dụ tham số bắt đầu và kết thúc
    3. Ví dụ không tìm thấy chuỗi con
    4. find() phương pháp phân biệt chữ hoa chữ thường?
  2. find() so với in từ khóa
  3. find() so với index()

Các find() Phương pháp – Tổng quan về cú pháp

Các find() phương thức chuỗi được tích hợp vào thư viện chuẩn của Python.

Nó lấy một chuỗi con làm đầu vào và tìm chỉ mục của nó – tức là vị trí của chuỗi con bên trong chuỗi mà bạn gọi phương thức trên.

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

string_object.find("substring", start_index_number, end_index_number)

Hãy chia nhỏ nó ra:

  • string_object là chuỗi ban đầu bạn đang làm việc và chuỗi bạn sẽ gọi là find() phương pháp trên. Đây có thể là bất kỳ từ nào bạn muốn tìm kiếm.
  • Các find() phương thức có ba tham số – một bắt buộc và hai tùy chọn.
  • "substring" là người đầu tiên cần thiết tham số. Đây là chuỗi con bạn đang cố tìm bên trong string_object. Đảm bảo bao gồm dấu ngoặc kép.
  • start_index_number là tham số thứ hai và nó là không bắt buộc. Nó chỉ định chỉ mục bắt đầu và vị trí mà từ đó tìm kiếm sẽ bắt đầu. Giá trị mặc định là .
  • end_index_number là tham số thứ ba và nó cũng là không bắt buộc. Nó chỉ định chỉ mục kết thúc và nơi tìm kiếm sẽ dừng lại. Mặc định là độ dài của chuỗi.
  • cả hai start_index_numberend_index_number chỉ định phạm vi mà tìm kiếm sẽ diễn ra và họ thu hẹp tìm kiếm xuống một phần cụ thể.
Đọc thêm  Python Nhận thời gian hiện tại

Giá trị trả về của find() phương thức là một giá trị số nguyên.

Nếu chuỗi con có mặt trong chuỗi, find() trả về chỉ mục hoặc vị trí ký tự của đầu tiên sự xuất hiện của chuỗi con được chỉ định từ chuỗi đã cho đó.

Nếu chuỗi con bạn đang tìm kiếm là không phải có mặt trong chuỗi, sau đó find() sẽ trở lại -1. Nó sẽ không ném một ngoại lệ.

Cách sử dụng find() không có tham số bắt đầu và kết thúc Ví dụ

Các ví dụ sau đây minh họa cách sử dụng find() phương thức sử dụng tham số bắt buộc duy nhất – chuỗi con bạn muốn tìm kiếm.

Bạn có thể lấy một từ và tìm kiếm để tìm số chỉ mục của một chữ cái cụ thể:

fave_phrase = "Hello world!"

# find the index of the letter 'w'
search_fave_phrase = fave_phrase.find("w")

print(search_fave_phrase)

#output

# 6

Tôi đã tạo một biến có tên fave_phrase và lưu trữ chuỗi Hello world!.

tôi đã gọi find() trên biến chứa chuỗi và tìm kiếm chữ ‘w’ bên trong Hello world!.

Tôi đã lưu trữ kết quả của hoạt động trong một biến có tên search_fave_phrase và sau đó in nội dung của nó ra bàn điều khiển.

Giá trị trả về là chỉ số của w mà trong trường hợp này là số nguyên 6.

Hãy nhớ rằng lập chỉ mục trong lập trình và Khoa học máy tính nói chung luôn bắt đầu từ không phải 1.

Cách sử dụng find() với ví dụ tham số bắt đầu và kết thúc

Sử dụng các tham số bắt đầu và kết thúc với find() phương pháp cho phép bạn giới hạn tìm kiếm của bạn.

Ví dụ: nếu bạn muốn tìm chỉ mục của chữ ‘w’ và bắt đầu tìm kiếm từ vị trí 3 và không sớm hơn, bạn sẽ làm như sau:

fave_phrase = "Hello world!"

# find the index of the letter 'w' starting from position 3
search_fave_phrase = fave_phrase.find("w",3)

print(search_fave_phrase)

#output

# 6

Vì quá trình tìm kiếm bắt đầu ở vị trí 3, nên giá trị trả về sẽ là phiên bản đầu tiên của chuỗi chứa ‘w’ từ vị trí đó trở đi.

Đọc thêm  Khóa học cấp tốc về Python dành cho người không chuyên về Python

Bạn cũng có thể thu hẹp tìm kiếm hơn nữa và cụ thể hơn với tìm kiếm của mình với tham số kết thúc:

fave_phrase = "Hello world!"

# find the index of the letter 'w' between the positions 3 and 8
search_fave_phrase = fave_phrase.find("w",3,8)

print(search_fave_phrase)

#output

# 6

Ví dụ không tìm thấy chuỗi con

Như đã đề cập trước đó, nếu chuỗi con bạn chỉ định với find() không có trong chuỗi, thì đầu ra sẽ là -1 và không phải là một ngoại lệ.

fave_phrase = "Hello world!"

# search for the index of the letter 'a' in "Hello world"
search_fave_phrase = fave_phrase.find("a")

print(search_fave_phrase)

# -1

find() Phương pháp phân biệt chữ hoa chữ thường?

Điều gì xảy ra nếu bạn tìm kiếm một chữ cái trong một trường hợp khác?

fave_phrase = "Hello world!"

#search for the index of the letter 'W' capitalized
search_fave_phrase = fave_phrase.find("W")

print(search_fave_phrase)

#output

# -1

Trong một ví dụ trước đó, tôi đã tìm kiếm chỉ mục của bức thư w trong câu “Xin chào thế giới!” và find() phương thức trả về vị trí của nó.

Trong trường hợp này, tìm kiếm chữ cái W lợi nhuận vốn hóa -1 – có nghĩa là chữ cái không có trong chuỗi.

Vì vậy, khi tìm kiếm một chuỗi con với find() phương pháp, hãy nhớ rằng tìm kiếm sẽ phân biệt chữ hoa chữ thường.

Các find() Phương pháp so với in Từ khóa – Sự khác biệt là gì?

Sử dụng in từ khóa để kiểm tra xem chuỗi con có trong chuỗi ở vị trí đầu tiên hay không.

Cú pháp chung cho in từ khóa như sau:

substring in string

Các in từ khóa trả về một giá trị Boolean – một giá trị hoặc True hoặc False.

>>> "w" in "Hello world!"
True

Các in toán tử trả về True khi chuỗi con có mặt trong chuỗi.

Và nếu không có chuỗi con, nó sẽ trả về False:

>>> "a" in "Hello world!"
False

Sử dụng in từ khóa là bước đầu tiên hữu ích trước khi sử dụng find() phương pháp.

Đọc thêm  Python If-Else – Ví dụ về cú pháp có điều kiện của Python

Trước tiên, bạn kiểm tra xem một chuỗi có chứa chuỗi con hay không, sau đó bạn có thể sử dụng find() để tìm vị trí của chuỗi con. Bằng cách đó, bạn biết chắc chắn rằng chuỗi con có mặt.

Vì vậy, sử dụng find() để tìm vị trí chỉ mục của một chuỗi con bên trong một chuỗi và không tìm kiếm xem chuỗi con có tồn tại trong chuỗi hay không.

Các find() Phương pháp so với index() Phương pháp – Sự khác biệt là gì?

Tương tự như find() phương pháp, các index() method là một phương thức chuỗi được sử dụng để tìm chỉ mục của một chuỗi con bên trong một chuỗi.

Vì vậy, cả hai phương pháp đều hoạt động theo cùng một cách.

Sự khác biệt giữa hai phương pháp là index() phương thức đưa ra một ngoại lệ khi chuỗi con không có trong chuỗi, trái ngược với find() phương thức trả về -1 giá trị.

fave_phrase = "Hello world!"

# search for the index of the letter 'a' in 'Hello world!'
search_fave_phrase = fave_phrase.index("a")

print(search_fave_phrase)

#output

# Traceback (most recent call last):
#  File "/Users/dionysialemonaki/python_article/demopython.py", line 4, in <module>
#    search_fave_phrase = fave_phrase.index("a")
# ValueError: substring not found

Ví dụ trên cho thấy rằng index() ném một ValueError khi không có chuỗi con.

Bạn có thể muốn sử dụng find() trên index() khi bạn không muốn đối phó với việc nắm bắt và xử lý bất kỳ ngoại lệ nào trong chương trình của mình.

Phần kết luận

Và bạn có nó rồi đấy! Bây giờ bạn đã biết cách tìm kiếm một chuỗi con trong một chuỗi bằng cách sử dụng find() phương pháp.

Tôi hy vọng bạn tìm thấy hướng dẫn này hữu ích.

Để tìm hiểu thêm về ngôn ngữ lập trình Python, hãy xem chứng chỉ Python của freeCodeCamp.

Bạn sẽ bắt đầu từ những điều cơ bản và học theo cách tương tác và thân thiện với người mới bắt đầu. Bạn cũng sẽ xây dựng năm dự án ở phần cuối để đưa vào thực tế và giúp củng cố hiểu biết của bạn về các khái niệm bạn đã học.

Cảm ơn bạn đã đọc và chúc bạn mã hóa vui vẻ!

Chúc mừng mã hóa!



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