Python tìm chuỗi trong chuỗi

Phương thức find() của chuỗi python được sử dụng để trả về chỉ mục của chuỗi đã tạo nơi tìm thấy chuỗi con. Về cơ bản, nó giúp chúng tôi tìm hiểu xem chuỗi con đã chỉ định có xuất hiện trong chuỗi đầu vào hay không. Phương thức này lấy chuỗi con cần tìm làm tham số bắt buộc

Có hai tham số tùy chọn là chỉ mục bắt đầu và chỉ mục kết thúc chỉ định phạm vi tìm thấy chuỗi con. Nếu 2 tham số này không được chỉ định thì hàm find() hoạt động từ chỉ số thứ 0 đến cuối chuỗi. Nếu không tìm thấy chuỗi con trong phạm vi đã cho, thì '-1' được in dưới dạng đầu ra. Sau đây là một ví dụ cho điều này

Kiểm tra xem một chuỗi có chứa chuỗi con hay không để tổng quát hóa các điều kiện và tạo mã linh hoạt hơn. Ngoài ra, tùy thuộc vào mô hình miền của bạn - việc kiểm tra xem một chuỗi có chứa chuỗi con hay không cũng có thể cho phép bạn suy ra các trường của một đối tượng, nếu một chuỗi tự mã hóa một trường

Trong hướng dẫn này, chúng ta sẽ xem cách kiểm tra xem một chuỗi có chứa chuỗi con hay không trong Python

Nhà điều hành trong

Cách dễ nhất để kiểm tra xem một chuỗi Python có chứa chuỗi con hay không là sử dụng toán tử

TypeError: argument of type 'NoneType' is not iterable
9

Toán tử

TypeError: argument of type 'NoneType' is not iterable
9 được sử dụng để kiểm tra cấu trúc dữ liệu về tư cách thành viên trong Python. Nó trả về một giá trị Boolean (hoặc là
TypeError: argument of type 'NoneType' is not iterable
1 hoặc là
TypeError: argument of type 'NoneType' is not iterable
2). Để kiểm tra xem một chuỗi có chứa chuỗi con hay không trong Python bằng cách sử dụng toán tử
TypeError: argument of type 'NoneType' is not iterable
9, chúng ta chỉ cần gọi nó trên siêu chuỗi

fullstring = "StackAbuse"
substring = "tack"

if substring in fullstring:
    print("Found!")
else:
    print("Not found!")

Toán tử này là cách viết tắt để gọi phương thức

TypeError: argument of type 'NoneType' is not iterable
1 của đối tượng và cũng hoạt động tốt để kiểm tra xem một mục có tồn tại trong danh sách hay không. Điều đáng chú ý là nó không phải là null-safe, vì vậy nếu
TypeError: argument of type 'NoneType' is not iterable
2 của chúng ta trỏ đến
TypeError: argument of type 'NoneType' is not iterable
3, một ngoại lệ sẽ được đưa ra

TypeError: argument of type 'NoneType' is not iterable

Để tránh điều này, trước tiên bạn cần kiểm tra xem nó có trỏ đến

TypeError: argument of type 'NoneType' is not iterable
3 hay không

fullstring = None
substring = "tack"

if fullstring != None and substring in fullstring:
    print("Found!")
else:
    print("Not found!")

chuỗi. chỉ số () Phương pháp

Kiểu Chuỗi trong Python có một phương thức gọi là

TypeError: argument of type 'NoneType' is not iterable
5 có thể được sử dụng để tìm chỉ mục bắt đầu của lần xuất hiện đầu tiên của một chuỗi con trong một chuỗi

Nếu không tìm thấy chuỗi con, một ngoại lệ

TypeError: argument of type 'NoneType' is not iterable
6 sẽ được đưa ra, có thể được xử lý bằng khối try-except-else

fullstring = "StackAbuse"
substring = "tack"

try:
    fullstring.index(substring)
except ValueError:
    print("Not found!")
else:
    print("Found!")

Phương pháp này hữu ích nếu bạn cũng cần biết vị trí của chuỗi con, thay vì chỉ sự tồn tại của nó trong chuỗi đầy đủ. Phương thức tự trả về chỉ mục

Mặc dù - để kiểm tra xem một chuỗi có chứa chuỗi con hay không, đây là một cách tiếp cận dài dòng

chuỗi. Phương thức tìm ()

Lớp String có một phương thức khác gọi là

TypeError: argument of type 'NoneType' is not iterable
7 thuận tiện hơn để sử dụng so với
TypeError: argument of type 'NoneType' is not iterable
5, chủ yếu là vì chúng ta không cần phải lo lắng về việc xử lý bất kỳ ngoại lệ nào

Nếu

TypeError: argument of type 'NoneType' is not iterable
7 không tìm thấy kết quả khớp, nó sẽ trả về -1, nếu không, nó sẽ trả về chỉ mục ngoài cùng bên trái của chuỗi con trong chuỗi lớn hơn

Hãy xem hướng dẫn thực hành, thực tế của chúng tôi để học Git, với các phương pháp hay nhất, tiêu chuẩn được ngành chấp nhận và bao gồm bảng gian lận. Dừng các lệnh Git trên Google và thực sự tìm hiểu nó

TypeError: argument of type 'NoneType' is not iterable
3

Đương nhiên, nó thực hiện tìm kiếm giống như

TypeError: argument of type 'NoneType' is not iterable
5 và trả về chỉ mục bắt đầu của chuỗi con trong chuỗi cha

Biểu thức chính quy (RegEx)

Các biểu thức chính quy cung cấp một cách linh hoạt hơn (mặc dù phức tạp hơn) để kiểm tra các chuỗi để khớp mẫu. Với Biểu thức chính quy, bạn có thể thực hiện tìm kiếm linh hoạt và mạnh mẽ thông qua không gian tìm kiếm lớn hơn nhiều, thay vì kiểm tra đơn giản, như những lần trước

Python được vận chuyển với một mô-đun tích hợp cho các biểu thức chính quy, được gọi là

fullstring = None
substring = "tack"

if fullstring != None and substring in fullstring:
    print("Found!")
else:
    print("Not found!")
1. Mô-đun
fullstring = None
substring = "tack"

if fullstring != None and substring in fullstring:
    print("Found!")
else:
    print("Not found!")
1 chứa một hàm có tên là
fullstring = None
substring = "tack"

if fullstring != None and substring in fullstring:
    print("Found!")
else:
    print("Not found!")
3, mà chúng ta có thể sử dụng để so khớp một mẫu chuỗi con

TypeError: argument of type 'NoneType' is not iterable
8

Phương pháp này là tốt nhất nếu bạn đang cần một chức năng so khớp phức tạp hơn, chẳng hạn như so khớp không phân biệt chữ hoa chữ thường hoặc nếu bạn đang xử lý không gian tìm kiếm lớn. Mặt khác, nên tránh sự phức tạp và tốc độ chậm hơn của biểu thức chính quy đối với các trường hợp sử dụng khớp chuỗi con đơn giản

Bài viết này được viết bởi Jacob Stopak, một nhà tư vấn và nhà phát triển phần mềm với niềm đam mê giúp đỡ người khác cải thiện cuộc sống của họ thông qua mã. Jacob là người tạo ra InitialCommit - một trang web dành riêng để giúp các nhà phát triển tò mò tìm hiểu cách mã hóa các chương trình yêu thích của họ. Dự án nổi bật của nó giúp mọi người học Git ở cấp mã

Hàm find có phải là hàm chuỗi trong Python không?

Tìm() trong Python là một phương thức chuỗi tích hợp sẵn trả về vị trí chỉ mục của ký tự nếu tìm thấy; .

Việc sử dụng find () trong chuỗi đưa ra ví dụ là gì?

tìm chuỗi trong C++ . Nó trả về chỉ mục của lần xuất hiện đầu tiên của chuỗi con trong chuỗi từ vị trí bắt đầu đã cho. Giá trị mặc định của vị trí bắt đầu là 0. to find the first occurrence of sub-string in the specified string being called upon. It returns the index of the first occurrence of the substring in the string from given starting position. The default value of starting position is 0.

Làm cách nào để tìm sự xuất hiện của chuỗi con trong chuỗi bằng Python?

finditer() Hàm finditer của thư viện regex có thể giúp chúng ta thực hiện công việc tìm các lần xuất hiện của chuỗi con trong chuỗi đích và hàm start có thể trả về chỉ số kết quả .