Tìm kiếm từ trong chuỗi python

Phương thức find() trả về chỉ số xuất hiện đầu tiên của chuỗi con (nếu tìm thấy). Nếu không tìm thấy, nó trả về -1

Thí dụ

message = 'Python is a fun programming language'

# check the index of 'fun' print(message.find('fun'))

# Output: 12

tìm() Cú pháp

Cú pháp của phương thức find()

str.find(sub[, start[, end]] )

tìm () Tham số

Phương thức find() nhận tối đa ba tham số

  • sub - Đây là chuỗi con được tìm kiếm trong chuỗi str
  • bắt đầu và kết thúc (tùy chọn) - Phạm vi str[start:end] trong đó chuỗi con được tìm kiếm

find() Giá trị trả về

Phương thức find() trả về một giá trị số nguyên

  • Nếu chuỗi con tồn tại bên trong chuỗi, nó trả về chỉ mục của lần xuất hiện đầu tiên của chuỗi con
  • Nếu một chuỗi con không tồn tại bên trong chuỗi, nó sẽ trả về -1

Hoạt động của phương thức find()

Tìm kiếm từ trong chuỗi python
Làm việc với các phương thức find() và rfind() của chuỗi Python

ví dụ 1. find() Không có đối số bắt đầu và kết thúc

quote = 'Let it be, let it be, let it be'

# first occurance of 'let it'(case sensitive)

result = quote.find('let it')

print("Substring 'let it':", result) # find returns -1 if substring not found

result = quote.find('small')

print("Substring 'small ':", result) # How to use find()

if (quote.find('be,') != -1):

print("Contains substring 'be,'") else: print("Doesn't contain substring")

đầu ra

Substring 'let it': 11
Substring 'small ': -1
Contains substring 'be,'

ví dụ 2. find() Với đối số bắt đầu và kết thúc

quote = 'Do small things with great love'

# Substring is searched in 'hings with great love'

print(quote.find('small things', 10))

# Substring is searched in ' small things with great love' print(quote.find('small things', 2)) # Substring is searched in 'hings with great lov'

print(quote.find('o small ', 10, -1))

# Substring is searched in 'll things with' print(quote.find('things ', 6, 20))

đầu ra

-1
3
-1
9

Các chuỗi cũng vậy — chúng hữu ích nhất khi bạn có thể tìm thấy thứ mình cần một cách nhanh chóng và không gặp bất kỳ sự cố nào. Python cung cấp một số chức năng để tìm kiếm chuỗi. Dưới đây là các chức năng được sử dụng phổ biến nhất

  • đếm(str, xin= 0, < . end=len(string)): Đếm số lần str xuất hiện trong một chuỗi. Bạn có thể giới hạn tìm kiếm bằng cách chỉ định chỉ mục bắt đầu bằng cách sử dụng beg hoặc chỉ mục kết thúc bằng cách sử dụng end.

  • endswith(hậu tố, beg=0, < . end=len(string)): Trả về True khi một chuỗi kết thúc bằng các ký tự được chỉ định bởi hậu tố. Bạn có thể giới hạn kiểm tra bằng cách chỉ định chỉ mục bắt đầu bằng beg hoặc chỉ mục kết thúc bằng end.

  • tìm(str, xin=0, < . end=len(string)): Xác định xem str có xuất hiện trong một chuỗi hay không và xuất chỉ mục của vị trí. Bạn có thể giới hạn tìm kiếm bằng cách chỉ định chỉ mục bắt đầu bằng cách sử dụng beg hoặc chỉ mục kết thúc bằng cách sử dụng end.

  • index(str, beg=0, < . end=len(string)): Cung cấp chức năng tương tự như find() , nhưng đưa ra một ngoại lệ khi không tìm thấy str.

  • replace(old, new [, max]): Thay thế tất cả các lần xuất hiện của chuỗi ký tự do old chỉ định trong một chuỗi bằng chuỗi ký tự do new chỉ định. Bạn có thể giới hạn số lần thay thế bằng cách chỉ định giá trị cho tối đa.

  • rfind(str, xin=0, < . end=len(string)): Cung cấp chức năng tương tự như find() , nhưng tìm kiếm ngược từ cuối chuỗi thay vì từ đầu.

  • rindex(str, xin=0, < . end=len(string)): Cung cấp chức năng tương tự như index() , nhưng tìm kiếm ngược từ cuối chuỗi thay vì tìm kiếm từ đầu.

  • startswith(prefix, beg=0, < . end=len(string)): Trả về True khi một chuỗi bắt đầu bằng các ký tự được chỉ định bởi tiền tố. Bạn có thể giới hạn kiểm tra bằng cách chỉ định chỉ mục bắt đầu bằng beg hoặc chỉ mục kết thúc bằng end.

Tìm dữ liệu mà bạn cần là một nhiệm vụ lập trình thiết yếu — một nhiệm vụ bắt buộc cho dù bạn tạo loại ứng dụng nào. Các bước sau đây giúp bạn tạo một ví dụ thể hiện việc sử dụng chức năng tìm kiếm trong các chuỗi
  1. Mở cửa sổ Tệp Python

    Bạn thấy một trình chỉnh sửa mà bạn có thể nhập mã ví dụ vào đó

  2. Nhập mã sau vào cửa sổ — nhấn Enter sau mỗi dòng

    SearchMe = "The apple is red and the berry is blue!"
    print(SearchMe.find("is"))
    print(SearchMe.rfind("is"))
    print(SearchMe.count("is"))
    print(SearchMe.startswith("The"))
    print(SearchMe.endswith("The"))
    print(SearchMe.replace("apple", "car")
      .replace("berry", "truck"))

    Ví dụ bắt đầu bằng cách tạo SearchMe , một chuỗi có hai phiên bản của từ là. Hai trường hợp này rất quan trọng vì chúng cho thấy các tìm kiếm khác nhau như thế nào tùy thuộc vào nơi bạn bắt đầu. Khi sử dụng find() , ví dụ bắt đầu từ đầu chuỗi. Ngược lại, rfind() bắt đầu từ cuối chuỗi.

    Tất nhiên, không phải lúc nào bạn cũng biết một nhóm ký tự nhất định xuất hiện bao nhiêu lần trong một chuỗi. Hàm count() cho phép bạn xác định giá trị này.

    Tùy thuộc vào loại dữ liệu bạn làm việc, đôi khi dữ liệu được định dạng nặng và bạn có thể sử dụng một mẫu cụ thể để tạo lợi thế cho mình. Ví dụ: bạn có thể xác định xem một chuỗi cụ thể (hoặc chuỗi con) kết thúc hay bắt đầu bằng một chuỗi ký tự cụ thể. Bạn có thể dễ dàng sử dụng kỹ thuật này để tìm số bộ phận

    Đoạn mã cuối cùng thay quả táo bằng ô tô và quả mọng bằng xe tải. Lưu ý kỹ thuật được sử dụng để đặt mã trên hai dòng. Trong một số trường hợp, mã của bạn sẽ cần xuất hiện trên nhiều dòng để dễ đọc hơn

  3. Nhấp vào Chạy ô

    Python hiển thị đầu ra như trong hình bên dưới. Đặc biệt lưu ý rằng các tìm kiếm đã trả về các chỉ mục khác nhau dựa trên vị trí chúng bắt đầu trong chuỗi. Sử dụng đúng chức năng khi thực hiện tìm kiếm là điều cần thiết để đảm bảo rằng bạn nhận được kết quả như mong đợi