Làm cách nào để tìm vị trí của một từ trong chuỗi trong python?

Trong bài đăng này, bạn sẽ học cách tìm chỉ mục của một chuỗi con trong một chuỗi, cho dù đó là chuỗi con đầu tiên hay chuỗi con cuối cùng. Bạn cũng sẽ học cách tìm mọi chỉ mục của một chuỗi con trong một chuỗi

Biết cách làm việc với chuỗi là một kỹ năng quan trọng trong hành trình Python của bạn. Bạn sẽ tìm hiểu cách tạo danh sách tất cả các vị trí chỉ mục mà chuỗi con đó xuất hiện

Câu trả lời nhanh

Làm cách nào để tìm vị trí của một từ trong chuỗi trong python?
Làm cách nào để tìm vị trí của một từ trong chuỗi trong python?

Mục lục

  • Cách sử dụng Python để tìm chỉ mục đầu tiên của chuỗi con trong chuỗi
  • Cách sử dụng Python để tìm chỉ mục cuối cùng của chuỗi con trong chuỗi
  • Cách sử dụng công cụ tìm biểu thức chính quy (Regex) để tìm tất cả các chỉ số của chuỗi con trong chuỗi Python
  • Cách sử dụng khả năng hiểu danh sách Python để tìm tất cả các chỉ số của chuỗi con trong chuỗi
  • Cách xây dựng hàm tùy chỉnh để tìm tất cả các chỉ số của chuỗi con trong chuỗi bằng Python
  • Sự kết luận

Cách sử dụng Python để tìm chỉ mục đầu tiên của chuỗi con trong chuỗi

Nếu tất cả những gì bạn muốn làm là lập chỉ mục đầu tiên của chuỗi con trong chuỗi Python, bạn có thể thực hiện việc này dễ dàng bằng phương thức

a_string = "the quick brown fox jumps over the lazy dog. the quick brown fox jumps over the lazy dog"

# Find the last index of 'the'
index = a_string.rindex('the')
print(index)

# Returns: 76
3. Phương thức này được tích hợp sẵn trong Python, vì vậy không cần nhập bất kỳ gói nào

Hãy xem cách bạn có thể sử dụng Python để tìm chỉ mục đầu tiên của chuỗi con trong chuỗi

a_string = "the quick brown fox jumps over the lazy dog. the quick brown fox jumps over the lazy dog"

# Find the first index of 'the'
index = a_string.index('the')
print(index)

# Returns: 0

Ở đây chúng ta có thể thấy rằng phương thức

a_string = "the quick brown fox jumps over the lazy dog. the quick brown fox jumps over the lazy dog"

# Find the last index of 'the'
index = a_string.rindex('the')
print(index)

# Returns: 76
4 lấy tham số của chuỗi con mà chúng ta đang tìm kiếm. Khi chúng tôi áp dụng phương thức cho chuỗi
a_string = "the quick brown fox jumps over the lazy dog. the quick brown fox jumps over the lazy dog"

# Find the last index of 'the'
index = a_string.rindex('the')
print(index)

# Returns: 76
5 của chúng tôi, kết quả của nó trả về
a_string = "the quick brown fox jumps over the lazy dog. the quick brown fox jumps over the lazy dog"

# Find the last index of 'the'
index = a_string.rindex('the')
print(index)

# Returns: 76
6. Điều này có nghĩa là chuỗi con bắt đầu ở vị trí chỉ số 0, của chuỗi của chúng ta (i. e. , đó là từ đầu tiên)

Hãy xem cách bạn có thể tìm thấy chỉ mục cuối cùng của chuỗi con trong chuỗi Python

Cách sử dụng Python để tìm chỉ mục cuối cùng của chuỗi con trong chuỗi

Có thể nhiều lúc bạn muốn tìm chỉ số cuối cùng của một chuỗi con trong một chuỗi Python. Để thực hiện điều này, chúng ta không thể sử dụng phương thức chuỗi

a_string = "the quick brown fox jumps over the lazy dog. the quick brown fox jumps over the lazy dog"

# Find the last index of 'the'
index = a_string.rindex('the')
print(index)

# Returns: 76
4. Tuy nhiên, Python được tích hợp sẵn một phương thức chuỗi tìm kiếm từ phải sang trái, nghĩa là nó sẽ trả về chỉ mục bên phải xa nhất. Đây là phương pháp
a_string = "the quick brown fox jumps over the lazy dog. the quick brown fox jumps over the lazy dog"

# Find the last index of 'the'
index = a_string.rindex('the')
print(index)

# Returns: 76
0

Hãy xem cách chúng ta có thể sử dụng phương thức

a_string = "the quick brown fox jumps over the lazy dog. the quick brown fox jumps over the lazy dog"

# Find the last index of 'the'
index = a_string.rindex('the')
print(index)

# Returns: 76
1 để tìm chỉ mục cuối cùng của một chuỗi con trong Python

a_string = "the quick brown fox jumps over the lazy dog. the quick brown fox jumps over the lazy dog"

# Find the last index of 'the'
index = a_string.rindex('the')
print(index)

# Returns: 76

Trong ví dụ trên, chúng tôi đã áp dụng phương thức

a_string = "the quick brown fox jumps over the lazy dog. the quick brown fox jumps over the lazy dog"

# Find the last index of 'the'
index = a_string.rindex('the')
print(index)

# Returns: 76
0 cho chuỗi để trả về vị trí chỉ mục cuối cùng của chuỗi con của chúng tôi

Cách sử dụng công cụ tìm biểu thức chính quy (Regex) để tìm tất cả các chỉ số của chuỗi con trong chuỗi Python

Các ví dụ trên đều trả về các chỉ số khác nhau, nhưng cả hai chỉ trả về một chỉ số duy nhất. Có thể có những lúc bạn muốn trả về tất cả các chỉ số của một chuỗi con trong một chuỗi Python

Đối với điều này, chúng tôi sẽ sử dụng thư viện biểu thức chính quy phổ biến,

a_string = "the quick brown fox jumps over the lazy dog. the quick brown fox jumps over the lazy dog"

# Find the last index of 'the'
index = a_string.rindex('the')
print(index)

# Returns: 76
3. Đặc biệt, chúng tôi sẽ sử dụng phương pháp
a_string = "the quick brown fox jumps over the lazy dog. the quick brown fox jumps over the lazy dog"

# Find the last index of 'the'
index = a_string.rindex('the')
print(index)

# Returns: 76
4, giúp bạn tìm thấy một phép lặp

Hãy xem cách chúng ta có thể sử dụng các biểu thức chính quy để tìm tất cả các chỉ số của một chuỗi con trong chuỗi Python

import re

a_string = "the quick brown fox jumps over the lazy dog. the quick brown fox jumps over the lazy dog"

# Find all indices of 'the'
indices_object = re.finditer(pattern='the', string=a_string)
indices = [index.start() for index in indices_object]
print(indices)

# Returns: [0, 31, 45, 76]

Ví dụ này có thêm một số bộ phận chuyển động. Hãy chia nhỏ những gì chúng ta đã làm từng bước

  1. Chúng tôi đã nhập
    a_string = "the quick brown fox jumps over the lazy dog. the quick brown fox jumps over the lazy dog"
    
    # Find the last index of 'the'
    index = a_string.rindex('the')
    print(index)
    
    # Returns: 76
    3 và thiết lập biến
    a_string = "the quick brown fox jumps over the lazy dog. the quick brown fox jumps over the lazy dog"
    
    # Find the last index of 'the'
    index = a_string.rindex('the')
    print(index)
    
    # Returns: 76
    5 như trước đây
  2. Sau đó, chúng tôi sử dụng
    a_string = "the quick brown fox jumps over the lazy dog. the quick brown fox jumps over the lazy dog"
    
    # Find the last index of 'the'
    index = a_string.rindex('the')
    print(index)
    
    # Returns: 76
    7 để tạo một đối tượng có thể lặp lại chứa tất cả các kết quả phù hợp
  3. Sau đó, chúng tôi đã tạo một cách hiểu danh sách để tìm giá trị
    a_string = "the quick brown fox jumps over the lazy dog. the quick brown fox jumps over the lazy dog"
    
    # Find the last index of 'the'
    index = a_string.rindex('the')
    print(index)
    
    # Returns: 76
    8, nghĩa là vị trí chỉ mục bắt đầu của mỗi trận đấu, trong đó
  4. Cuối cùng, chúng tôi đã in danh sách các vị trí bắt đầu lập chỉ mục

Trong phần tiếp theo, bạn sẽ học cách sử dụng khả năng hiểu danh sách trong Python để tìm tất cả các chỉ số của một chuỗi con trong một chuỗi

Cách sử dụng khả năng hiểu danh sách Python để tìm tất cả các chỉ số của chuỗi con trong chuỗi

Hãy xem cách bạn có thể tìm thấy tất cả các chỉ số của một chuỗi con trong một chuỗi trong Python mà không cần sử dụng thư viện biểu thức chính quy. Chúng tôi sẽ thực hiện điều này bằng cách sử dụng khả năng hiểu danh sách

Bạn muốn tìm hiểu thêm về cách hiểu danh sách Python?

Hãy xem cách chúng ta có thể thực hiện việc này bằng cách sử dụng khả năng hiểu danh sách

a_string = "the quick brown fox jumps over the lazy dog. the quick brown fox jumps over the lazy dog"

# Find the last index of 'the'
index = a_string.rindex('the')
print(index)

# Returns: 76
1

Chúng ta hãy xem cách hoạt động của việc hiểu danh sách này

  1. Chúng tôi lặp lại các số từ 0 đến hết độ dài của danh sách
  2. Chúng tôi bao gồm vị trí chỉ mục của số đó nếu chuỗi con được tạo bằng cách tách chuỗi của chúng tôi từ chỉ mục đó trở đi, bắt đầu bằng chữ cái của chúng tôi
  3. Chúng tôi nhận được một danh sách được trả về tất cả các trường hợp mà chuỗi con đó xuất hiện trong chuỗi của chúng tôi

Trong phần cuối cùng của hướng dẫn này, bạn sẽ học cách xây dựng một hàm tùy chỉnh để trả về các chỉ số của tất cả các chuỗi con trong chuỗi Python của chúng ta

Xem một số hướng dẫn Python khác về datagy, bao gồm hướng dẫn đầy đủ của chúng tôi về cách tạo kiểu cho Pandas và tổng quan toàn diện của chúng tôi về Pivot Tables trong Pandas

Cách xây dựng hàm tùy chỉnh để tìm tất cả các chỉ số của chuỗi con trong chuỗi bằng Python

Bây giờ bạn đã học được hai phương thức khác nhau để trả về tất cả các chỉ số của một chuỗi con trong chuỗi Python, hãy tìm hiểu cách chúng ta có thể biến phương thức này thành một hàm Python tùy chỉnh

Tại sao chúng ta muốn làm điều này? . Đây là nơi một chức năng sẽ trở nên hữu ích, vì nó cho phép người đọc trong tương lai (rất có thể là bạn. ) biết mã của bạn đang làm gì

Bắt đầu nào

a_string = "the quick brown fox jumps over the lazy dog. the quick brown fox jumps over the lazy dog"

# Find the last index of 'the'
index = a_string.rindex('the')
print(index)

# Returns: 76
2

Trong hàm tùy chỉnh mẫu này, chúng tôi sử dụng phương pháp hiểu danh sách để tìm các chỉ số của tất cả các chuỗi con. Lý do cho điều này là nó không tạo ra bất kỳ sự phụ thuộc bổ sung nào.

Sự kết luận

Trong bài đăng này, bạn đã hướng dẫn cách sử dụng Python để tìm chỉ mục đầu tiên, chỉ mục cuối cùng và tất cả các chỉ mục của một chuỗi con trong một chuỗi. Bạn đã học cách thực hiện điều này với các phương thức chuỗi thông thường, với các biểu thức chính quy, khả năng hiểu danh sách cũng như một hàm được tạo tùy chỉnh