Phương thức chuỗi tìm () trong Python với các ví dụ

Mục lục:

Anonim

Chuỗi Python find () là gì?

Python String find () là một hàm có sẵn trong thư viện Python để tìm chỉ mục của lần xuất hiện đầu tiên của một chuỗi con từ chuỗi đã cho. Hàm string find () sẽ trả về -1 thay vì ném ra một ngoại lệ, nếu chuỗi con được chỉ định không có trong chuỗi đã cho.

Trong hướng dẫn phương thức find () chuỗi Python này, bạn sẽ học:

  • Chuỗi Python find () là gì?
  • Cú pháp của chuỗi Python find ()
  • Ví dụ về phương thức find () với các giá trị mặc định
  • Ví dụ về find () sử dụng đối số bắt đầu
  • Ví dụ về find () sử dụng đối số bắt đầu và kết thúc
  • Ví dụ về phương thức find () Để tìm vị trí của một chuỗi con đã cho trong một chuỗi
  • Chuỗi Python rfind ()
  • Chỉ mục chuỗi Python ()
  • Để tìm tổng số lần xuất hiện của một chuỗi con

Cú pháp của chuỗi Python find ()

Cú pháp cơ bản của hàm find () trong Python như sau:

string.find(substring,start,end)

Các tham số cho phương thức find ()

Đây là ba tham số của hàm String find () trong Python:
  • chuỗi con : Chuỗi con bạn muốn tìm kiếm trong chuỗi đã cho.
  • start : (tùy chọn) Giá trị bắt đầu từ nơi bắt đầu tìm kiếm chuỗi con. Theo mặc định, nó là 0.
  • end : (tùy chọn) Giá trị kết thúc nơi kết thúc tìm kiếm chuỗi con. Theo mặc định, giá trị là độ dài của chuỗi.

Ví dụ về phương thức find () với các giá trị mặc định

Các tham số được truyền cho phương thức find () trong Python là chuỗi con tức là chuỗi bạn muốn tìm kiếm, bắt đầu và kết thúc. Giá trị bắt đầu là 0 theo mặc định và giá trị kết thúc là độ dài của chuỗi.

Trong ví dụ này, chúng tôi sẽ sử dụng phương thức find () trong Python với các giá trị mặc định.

Phương thức find () sẽ tìm kiếm chuỗi con và cung cấp vị trí của lần xuất hiện đầu tiên của chuỗi con. Bây giờ, nếu chuỗi con hiện diện nhiều lần trong chuỗi đã cho, nó vẫn sẽ trả về cho bạn chỉ mục hoặc vị trí của chuỗi đầu tiên.

Thí dụ:

mystring = "Meet Guru99 Tutorials Site.Best site for Python Tutorials!"print("The position of Tutorials is at:", mystring.find("Tutorials"))

Đầu ra:

The position of Tutorials is at: 12

Ví dụ về find () sử dụng đối số bắt đầu

Bạn có thể tìm kiếm chuỗi con trong chuỗi đã cho và chỉ định vị trí bắt đầu, từ đó tìm kiếm sẽ bắt đầu. Tham số bắt đầu có thể được sử dụng cho cùng một.

Ví dụ sẽ chỉ định vị trí bắt đầu là 15 và phương thức find () trong Python sẽ bắt đầu tìm kiếm từ vị trí 15. Ở đây, vị trí kết thúc sẽ là độ dài của chuỗi và sẽ tìm kiếm cho đến cuối chuỗi từ 15 vị trí trở đi.

Thí dụ:

mystring = "Meet Guru99 Tutorials Site.Best site for Python Tutorials!"print("The position of Tutorials is at:", mystring.find("Tutorials", 20))

Đầu ra:

The position of Tutorials is at 48

Ví dụ về find () sử dụng đối số bắt đầu và kết thúc

Sử dụng tham số bắt đầu và kết thúc, chúng tôi sẽ cố gắng giới hạn tìm kiếm, thay vì tìm kiếm toàn bộ chuỗi.

Thí dụ:

mystring = "Meet Guru99 Tutorials Site.Best site for Python Tutorials!"print("The position of Tutorials is at:", mystring.find("Tutorials", 5, 30))

Đầu ra:

The position of Tutorials is at 12

Ví dụ về phương thức find () Để tìm vị trí của một chuỗi con đã cho trong một chuỗi

Chúng tôi biết rằng find () giúp chúng tôi tìm chỉ số của lần xuất hiện đầu tiên của chuỗi con. Nó trả về -1 nếu chuỗi con không có trong chuỗi đã cho. Ví dụ dưới đây cho thấy chỉ số khi chuỗi có mặt và -1 khi chúng tôi không tìm thấy chuỗi con mà chúng tôi đang tìm kiếm.

Thí dụ:

mystring = "Meet Guru99 Tutorials Site.Best site for Python Tutorials!"print("The position of Best site is at:", mystring.find("Best site", 5, 40))print("The position of Guru99 is at:", mystring.find("Guru99", 20))

Đầu ra:

The position of Best site is at: 27The position of Guru99 is at: -1

Chuỗi Python rfind ()

Hàm rfind () trong Python tương tự như hàm find () với điểm khác biệt duy nhất là rfind () cho chỉ số cao nhất cho chuỗi con đã cho và find () cho chỉ số thấp nhất tức là chỉ mục đầu tiên. Cả rfind () và find () sẽ trả về -1 nếu không có chuỗi con.

Trong ví dụ dưới đây, chúng tôi có một chuỗi "Gặp gỡ Trang web Hướng dẫn Guru99. Trang web tốt nhất cho Hướng dẫn Python!" và sẽ cố gắng tìm vị trí của chuỗi con Hướng dẫn sử dụng find () và rfind (). Sự xuất hiện của Hướng dẫn trong chuỗi là hai lần.

Đây là một ví dụ mà cả find () và rfind () đều được sử dụng.

mystring = "Meet Guru99 Tutorials Site.Best site for Python Tutorials!"print("The position of Tutorials using find() : ", mystring.find("Tutorials"))print("The position of Tutorials using rfind() : ", mystring.rfind("Tutorials"))

Đầu ra:

The position of Tutorials using find() : 12The position of Tutorials using rfind() : 48

Kết quả cho thấy find () cung cấp chỉ số của chuỗi con Hướng dẫn đầu tiên mà nó nhận được và rfind () cung cấp chỉ số cuối cùng của chuỗi Hướng dẫn.

Chỉ mục chuỗi Python ()

Chỉ số chuỗi trong Python () là hàm sẽ cung cấp cho bạn vị trí của chuỗi con đã cho giống như find (). Sự khác biệt duy nhất giữa cả hai là, index () sẽ ném một ngoại lệ nếu chuỗi con không có trong chuỗi và find () sẽ trả về -1.

Đây là một ví dụ hoạt động cho thấy hoạt động của index () và find ().

mystring = "Meet Guru99 Tutorials Site.Best site for Python Tutorials!"print("The position of Tutorials using find() : ", mystring.find("Tutorials"))print("The position of Tutorials using index() : ", mystring.index("Tutorials"))

Đầu ra:

The position of Tutorials using find() : 12The position of Tutorials using index() : 12

Chúng tôi đang nhận được cùng một vị trí cho cả find () và index (). Chúng ta hãy xem một ví dụ khi chuỗi con đã cho không có trong chuỗi.

mystring = "Meet Guru99 Tutorials Site.Best site for Python Tutorials!"print("The position of Tutorials using find() : ", mystring.find("test"))print("The position of Tutorials using index() : ", mystring.index("test"))

Đầu ra:

The position of Tutorials using find() : -1Traceback (most recent call last):File "task1.py", line 3, in print("The position of Tutorials using index() : ", mystring.index("test"))ValueError: substring not found

Trong ví dụ trên, chúng tôi đang cố gắng tìm vị trí của chuỗi con "test". Chuỗi con không có trong chuỗi đã cho và do đó sử dụng find (), chúng ta nhận được vị trí là -1, nhưng đối với index (), nó sẽ tạo ra một lỗi như được hiển thị ở trên.

Để tìm tổng số lần xuất hiện của một chuỗi con

Để tìm tổng số lần chuỗi con đã xảy ra trong chuỗi đã cho, chúng ta sẽ sử dụng hàm find () trong Python. Sẽ lặp qua chuỗi bằng vòng lặp for từ 0 cho đến cuối chuỗi. Sẽ sử dụng tham số startIndex cho find ().

Các biến startIndex và count sẽ được khởi tạo bằng 0. Inside for -loop sẽ kiểm tra xem chuỗi con có bên trong chuỗi được cung cấp hay không bằng cách sử dụng find () và startIndex là 0.

Giá trị được trả về từ find () nếu không phải -1, sẽ cập nhật startIndex thành chỉ mục nơi tìm thấy chuỗi và cũng tăng giá trị đếm.

Đây là ví dụ hoạt động:

my_string = "test string test, test string testing, test string test string"startIndex = 0count = 0for i in range(len(my_string)):k = my_string.find('test', startIndex)if(k != -1):startIndex = k+1count += 1k = 0print("The total count of substring test is: ", count )

Đầu ra:

The total count of substring test is: 6

Tóm lược

  • Phương thức chuỗi find () trong Python giúp tìm chỉ mục của lần xuất hiện đầu tiên của chuỗi con trong chuỗi đã cho. Nó sẽ trả về -1 nếu không có chuỗi con.
  • Các tham số được truyền cho phương thức tìm chuỗi con trong Python là chuỗi con tức là chuỗi bạn muốn tìm kiếm, bắt đầu và kết thúc. Giá trị bắt đầu là 0 theo mặc định và giá trị kết thúc là độ dài của chuỗi.
  • Bạn có thể tìm kiếm chuỗi con trong chuỗi đã cho và chỉ định vị trí bắt đầu, từ đó tìm kiếm sẽ bắt đầu. Tham số bắt đầu có thể được sử dụng cho cùng một.
  • Sử dụng tham số bắt đầu và kết thúc, chúng tôi sẽ cố gắng giới hạn tìm kiếm, thay vì tìm kiếm toàn bộ chuỗi.
  • Hàm rfind () trong Python tương tự như hàm find () với điểm khác biệt duy nhất là rfind () cho chỉ số cao nhất cho chuỗi con đã cho và find () cho chỉ số thấp nhất tức là chỉ mục đầu tiên. Cả rfind () và find () sẽ trả về -1 nếu không có chuỗi con.
  • Chỉ số chuỗi Python () là một hàm khác sẽ cung cấp cho bạn vị trí của chuỗi con đã cho giống như find (). Sự khác biệt duy nhất giữa cả hai là, index () sẽ ném một ngoại lệ nếu chuỗi con không có trong chuỗi và find () sẽ trả về -1.
  • Chúng ta có thể sử dụng find () để tìm tổng số lần xuất hiện của một chuỗi con trong một chuỗi nhất định.