Jawaban:
dengan 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, lebih di sini
foo = "blahblahblah"
bar = "somethingblahblahblahmeep"
if foo in bar:
# do something
(Ngomong-ngomong - cobalah untuk tidak menamai variabel string, karena ada pustaka standar Python dengan nama yang sama. Anda mungkin membingungkan orang jika Anda melakukannya dalam proyek besar, jadi menghindari tabrakan seperti itu adalah kebiasaan yang baik.)
Jika Anda mencari lebih dari True / False, Anda paling cocok untuk menggunakan modul re, seperti:
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() akan mengembalikan string "tolong bantu saya".
Pikir saya akan menambahkan ini jika Anda melihat bagaimana melakukan ini untuk wawancara teknis di mana mereka tidak ingin Anda menggunakan fungsi bawaan Python inatau find, yang mengerikan, tetapi memang terjadi:
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 Falsejuga akan memeriksa rentang loop seharusnya range(len(string)-len(substring))karena Anda tidak akan menemukan kata tiga huruf dalam dua huruf terakhir dari string tersebut. (Menyimpan beberapa iterasi).
Orang-orang menyebutkan string.find(),, string.index()dan string.indexOf()di komentar, dan saya meringkasnya di sini (menurut Dokumentasi Python ):
Pertama-tama tidak ada string.indexOf()metode. Tautan yang diposting oleh Deviljho menunjukkan ini adalah fungsi JavaScript.
Kedua string.find()dan string.index()benar - benar mengembalikan indeks substring. Satu-satunya perbedaan adalah bagaimana mereka menangani substring tidak ditemukan situasi: string.find()mengembalikan -1sementara string.index()memunculkan ValueError.
Anda juga dapat mencoba metode find (). Ini menentukan apakah string str terjadi dalam string, atau dalam substring string.
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
Bisa juga menggunakan cara ini
if substring in string:
print(string + '\n Yes located at:'.format(string.find(substring)))