Yanıtlar:
ile 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) != -1daha çok burada
substringiçinde string, o zaman yo kullanım istediğiniz string.index
foo = "blahblahblah"
bar = "somethingblahblahblahmeep"
if foo in bar:
# do something
(Bu arada - stringaynı ada sahip bir Python standart kitaplığı olduğundan bir değişkeni adlandırmamaya çalışın . Bunu büyük bir projede yaparsanız insanların kafasını karıştırabilirsiniz, bu nedenle böyle çarpışmalardan kaçınmak iyi bir alışkanlıktır.)
Doğru / Yanlış'dan daha fazlasını arıyorsanız, re modülünü kullanmak için en uygun olanıdır, örneğin:
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() "lütfen bana yardım et" dizesini döndürür.
Bunu, Python'un yerleşik işlevini kullanmanızı istemedikleri inveya findkorkunç olan, ancak gerçekleştiği teknik bir röportaj için nasıl yapacağınıza bakıyorsanız ekleyeceğimi düşündüm :
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 False, döngü aralığını da kontrol etmeliyim range(len(string)-len(substring))çünkü dizenin son iki harfinde üç harfli bir kelime bulamayacaksınız. (Birkaç yineleme kaydeder).
İnsanlar söz string.find(), string.index()ve string.indexOf()yorumlarda, ben (göre onları burada özetlemek Python Belgeler ):
Öncelikle bir string.indexOf()yöntem yok. Deviljho tarafından yayınlanan bağlantı, bunun bir JavaScript işlevi olduğunu gösteriyor.
İkinci olarak string.find()ve string.index()aslında bir alt dizenin dizinini döndürür. : Tek fark onlar alt dize bulunamadı durumu idare nasıl string.find()döner -1iken string.index()bir yükseltir ValueError.
Ayrıca find () yöntemini deneyebilirsiniz. Dizge dizesinin dizede mi yoksa dizenin bir alt dizesinde mi oluştuğunu belirler.
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
Bu yöntemi de kullanabilir
if substring in string:
print(string + '\n Yes located at:'.format(string.find(substring)))