Cách đơn giản nhất để kiểm tra xem một chuỗi có chứa chuỗi con trong Python không phải là sử dụng & nbsp; ____ 10 & nbsp; toán tử. Điều này sẽ trả về & nbsp; ________ 11 & nbsp; hoặc & nbsp; ________ 12 & nbsp; tùy thuộc vào việc tìm thấy chất nền được tìm thấy. Ví dụ:
sentence = 'There are more trees on Earth than stars in the Milky Way galaxy' word = 'galaxy' if word in sentence: print('Word found.') # Word found.Độ nhạy trường hợp
Lưu ý rằng ví dụ trên là nhạy cảm trường hợp nên các từ sẽ cần có cùng một vỏ để trả về & nbsp; ________ 11. Nếu bạn muốn thực hiện tìm kiếm không nhạy cảm trường hợp, bạn có thể bình thường hóa các chuỗi bằng & nbsp; ____ 14 & nbsp; hoặc & nbsp; ________ 15 & nbsp;
sentence = 'There are more trees on Earth than stars in the Milky Way galaxy' word = 'milky' if word in sentence.lower(): print('Word found.') # Word found.Tìm chỉ mục của một nền tảng
Để tìm chỉ mục của một chuỗi con trong một chuỗi, bạn có thể sử dụng & nbsp; ________ 16 & nbsp; phương thức. Điều này sẽ trả về giá trị chỉ mục bắt đầu của chuỗi con nếu nó được tìm thấy. Nếu chất nền không được tìm thấy, nó sẽ trả về -1.
sentence = 'There are more trees on Earth than stars in the Milky Way galaxy' print(sentence.find('Earth')) print(sentence.find('Moon')) # 24 # -1Đếm bộ nền
Bạn cũng có thể đếm các chuỗi con trong một chuỗi bằng phương thức & nbsp; Ví dụ:
sentence = 'There are more trees on Earth than stars in the Milky Way galaxy' word = 'the' print(sentence.lower().count(word)) # 2REGEX
Để tìm kiếm chuỗi nâng cao hơn, bạn nên xem xét đọc về mô -đun của Python & NBSP;re module.
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 một chuỗi con trong Python không. Như thường lệ, mỗi cách tiếp cận chúng tôi sẽ đề cập có những ưu và nhược điểm khác nhau.
Các nhà điều hành trong
Cách dễ nhất để kiểm tra xem chuỗi Python có chứa chất nền là sử dụng toán tử ____10 không.
Toán tử sentence = 'There are more trees on Earth than stars in the Milky Way galaxy' word = 'milky' if word in sentence.lower(): print('Word found.') # Word found. 0 được sử dụng để kiểm tra các cấu trúc dữ liệu để thành viên trong Python. Nó trả về một boolean (sentence = 'There are more trees on Earth than stars in the Milky Way galaxy' word = 'milky' if word in sentence.lower(): print('Word found.') # Word found. 1 hoặc sentence = 'There are more trees on Earth than stars in the Milky Way galaxy' word = 'milky' if word in sentence.lower(): print('Word found.') # Word found. 2). Để kiểm tra xem một chuỗi có chứa một chuỗi con trong Python bằng toán tử sentence = 'There are more trees on Earth than stars in the Milky Way galaxy' word = 'milky' if word in sentence.lower(): print('Word found.') # Word found. 0 hay không, chúng tôi chỉ cần gọi nó trên SuperString:
fullstring = "StackAbuse" substring = "tack" if substring in fullstring: print("Found!") else: print("Not found!")Toán tử này là tốc ký để gọi phương thức sentence = 'There are more trees on Earth than stars in the Milky Way galaxy' print(sentence.find('Earth')) print(sentence.find('Moon')) # 24 # -1 3 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 không. Điều đáng chú ý là nó không an toàn, vì vậy nếu sentence = 'There are more trees on Earth than stars in the Milky Way galaxy' print(sentence.find('Earth')) print(sentence.find('Moon')) # 24 # -1 4 của chúng tôi chỉ ra sentence = 'There are more trees on Earth than stars in the Milky Way galaxy' print(sentence.find('Earth')) print(sentence.find('Moon')) # 24 # -1 5, một ngoại lệ sẽ bị ném:
TypeError: argument of type 'NoneType' is not iterableĐể tránh điều này, trước tiên bạn sẽ muốn kiểm tra xem nó có chỉ vào sentence = 'There are more trees on Earth than stars in the Milky Way galaxy' print(sentence.find('Earth')) print(sentence.find('Moon')) # 24 # -1 5 hay không:
fullstring = None substring = "tack" if fullstring != None and substring in fullstring: print("Found!") else: print("Not found!")Phương thức chuỗi.index ()
Loại chuỗi trong Python có một phương thức gọi là sentence = 'There are more trees on Earth than stars in the Milky Way galaxy' print(sentence.find('Earth')) print(sentence.find('Moon')) # 24 # -1 7 có thể được sử dụng để tìm chỉ số bắt đầu của lần xuất hiện đầu tiên của chuỗi con trong chuỗi.
Kiểm tra hướng dẫn thực hành của chúng tôi, thực tế để học Git, với các thực hành tốt nhất, các tiêu chuẩn được công nghiệp chấp nhận và bao gồm bảng gian lận. Ngừng các lệnh git googling và thực sự tìm hiểu nó!
Nếu không tìm thấy chất nền, ngoại lệ sentence = 'There are more trees on Earth than stars in the Milky Way galaxy' print(sentence.find('Earth')) print(sentence.find('Moon')) # 24 # -1 8 được ném, có thể được xử lý với khối Expet-Offcept-Else:
fullstring = "StackAbuse" substring = "tack" try: fullstring.index(substring) except ValueError: print("Not found!") else: print("Found!")Phương pháp này rất hữu ích nếu bạn cần biết vị trí của chuỗi con, trái ngược với sự tồn tại của nó trong toàn bộ chuỗi.
Phương thức chuỗi.find ()
Loại chuỗi có một phương thức khác được gọi là sentence = 'There are more trees on Earth than stars in the Milky Way galaxy' print(sentence.find('Earth')) print(sentence.find('Moon')) # 24 # -1 9 thuận tiện hơn để sử dụng so với sentence = 'There are more trees on Earth than stars in the Milky Way galaxy' print(sentence.find('Earth')) print(sentence.find('Moon')) # 24 # -1 7, 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 sentence = 'There are more trees on Earth than stars in the Milky Way galaxy' word = 'milky' if word in sentence.lower(): print('Word found.') # Word found. 6 không tìm thấy một trận đấu, nó sẽ trả về -1, nếu không, nó sẽ trả về chỉ số bên trái nhất của chuỗi con trong chuỗi lớn hơn.
fullstring = "StackAbuse" substring = "tack" if fullstring.find(substring) != -1: print("Found!") else: print("Not found!")Nếu bạn muốn tránh cần phải bắt lỗi, thì phương pháp này sẽ được ưu tiên hơn sentence = 'There are more trees on Earth than stars in the Milky Way galaxy' print(sentence.find('Earth')) print(sentence.find('Moon')) # 24 # -1 7.
Biểu thức thông thường (Regex)
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. Python được vận chuyển với một mô-đun tích hợp cho các biểu thức thông thường, được gọi là sentence = 'There are more trees on Earth than stars in the Milky Way galaxy' word = 'the' print(sentence.lower().count(word)) # 2 3. Mô -đun sentence = 'There are more trees on Earth than stars in the Milky Way galaxy' word = 'the' print(sentence.lower().count(word)) # 2 3 chứa một hàm gọi là sentence = 'There are more trees on Earth than stars in the Milky Way galaxy' word = 'the' print(sentence.lower().count(word)) # 2 5, chúng ta có thể sử dụng để phù hợp với mẫu con:
from re import search fullstring = "StackAbuse" substring = "tack" if search(substring, fullstring): print "Found!" else: print "Not found!"Phương pháp này là tốt nhất nếu bạn cần một chức năng phù hợp phức tạp hơn, như phù hợp với trường hợp không nhạy cảm. Nếu không, nên tránh tốc độ biến chứng và tốc độ chậm hơn cho các trường hợp sử dụng phù hợp với chất nền đơ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 cam kết ban đầu - 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 các chương trình yêu thích của họ được mã hóa. Dự án nổi bật của nó giúp mọi người học Git ở cấp độ mã.