Saya memiliki sub-string:
substring = "please help me out"
Saya memiliki string lain:
string = "please help me out so that I could solve this"
Bagaimana cara mengetahui apakah substring
merupakan bagian dari string
penggunaan Python?
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 sinisubstring
dalamstring
, maka Anda ingin menggunakan string.index(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.)sumber
Jika Anda mencari lebih dari True / False, Anda paling cocok untuk menggunakan modul re, seperti:
s.group()
akan mengembalikan string "tolong bantu saya".sumber
Pikir saya akan menambahkan ini jika Anda melihat bagaimana melakukan ini untuk wawancara teknis di mana mereka tidak ingin Anda menggunakan fungsi bawaan Python
in
ataufind
, yang mengerikan, tetapi memang terjadi:sumber
if len(substring) > len(string) return False
juga akan memeriksa rentang loop seharusnyarange(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()
danstring.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()
danstring.index()
benar - benar mengembalikan indeks substring. Satu-satunya perbedaan adalah bagaimana mereka menangani substring tidak ditemukan situasi:string.find()
mengembalikan-1
sementarastring.index()
memunculkanValueError
.sumber
Anda juga dapat mencoba metode find (). Ini menentukan apakah string str terjadi dalam string, atau dalam substring string.
sumber
sumber
sumber
Bisa juga menggunakan cara ini
sumber
Daripada Menggunakan find (), Salah satu cara mudahnya adalah dengan menggunakan 'in' seperti di atas.
jika 'substring' ada di 'str' maka jika bagian akan dieksekusi jika tidak, bagian lain akan dieksekusi.
sumber