Câu trả lời:
với in: substring in string:
>>> substring = "please help me out"
>>> string = "please help me out so that I could solve this"
>>> substring in string
True
string.indexOf(substring) != -1, thêm ở đây
foo = "blahblahblah"
bar = "somethingblahblahblahmeep"
if foo in bar:
# do something
(Nhân tiện - cố gắng không đặt tên cho một biến string, vì có một thư viện chuẩn Python có cùng tên. Bạn có thể khiến mọi người nhầm lẫn nếu bạn làm điều đó trong một dự án lớn, vì vậy tránh va chạm như vậy là một thói quen tốt.)
Nếu bạn đang tìm kiếm nhiều hơn True / False, bạn sẽ phù hợp nhất để sử dụng mô-đun re, như:
import re
search="please help me out"
fullstring="please help me out so that I could solve this"
s = re.search(search,fullstring)
print(s.group())
s.group() sẽ trả về chuỗi "làm ơn giúp tôi".
Tôi nghĩ rằng tôi sẽ thêm điều này trong trường hợp bạn đang xem cách thực hiện điều này cho một cuộc phỏng vấn kỹ thuật mà họ không muốn bạn sử dụng chức năng tích hợp sẵn của Python inhoặc find, điều này thật kinh khủng, nhưng vẫn xảy ra:
string = "Samantha"
word = "man"
def find_sub_string(word, string):
len_word = len(word) #returns 3
for i in range(len(string)-1):
if string[i: i + len_word] == word:
return True
else:
return False
if len(substring) > len(string) return Falsephạm vi vòng lặp tốt hơn range(len(string)-len(substring))vì bạn sẽ không tìm thấy một từ có ba chữ cái trong hai chữ cái cuối cùng của chuỗi. (Tiết kiệm một vài lần lặp lại).
Những người đã đề cập string.find(), string.index()và string.indexOf()trong các nhận xét, và tôi tóm tắt chúng ở đây (theo Tài liệu Python ):
Trước hết không có một string.indexOf()phương pháp. Liên kết được đăng bởi Deviljho cho thấy đây là một hàm JavaScript.
Thứ hai, string.find()và string.index()thực sự trả về chỉ mục của một chuỗi con. Sự khác biệt duy nhất là cách họ xử lý tình huống không tìm thấy chuỗi con: string.find()trả về -1trong khi string.index()tăng một ValueError.
Bạn cũng có thể thử phương thức find (). Nó xác định xem chuỗi str xảy ra trong chuỗi hay trong một chuỗi con của chuỗi.
str1 = "please help me out so that I could solve this"
str2 = "please help me out"
if (str1.find(str2)>=0):
print("True")
else:
print ("False")
In [7]: substring = "please help me out"
In [8]: string = "please help me out so that I could solve this"
In [9]: substring in string
Out[9]: True
Cũng có thể sử dụng phương pháp này
if substring in string:
print(string + '\n Yes located at:'.format(string.find(substring)))