Antworten:
mit 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
mehr hier
foo = "blahblahblah"
bar = "somethingblahblahblahmeep"
if foo in bar:
# do something
(Übrigens: Versuchen Sie, keine Variable zu benennen string
, da es eine Python-Standardbibliothek mit demselben Namen gibt. Sie können die Leute verwirren, wenn Sie dies in einem großen Projekt tun. Daher ist es eine gute Angewohnheit, solche Kollisionen zu vermeiden.)
Wenn Sie mehr als ein Richtig / Falsch suchen, sind Sie am besten für die Verwendung des Re-Moduls geeignet, z. B.:
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()
wird die Zeichenfolge "Bitte helfen Sie mir" zurückgeben.
Ich dachte, ich würde dies hinzufügen, falls Sie sich überlegen, wie Sie dies für ein technisches Interview tun sollen, bei dem Sie nicht die integrierte Funktion von Python verwenden sollen in
oder find
, was schrecklich ist, aber passiert:
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
der Schleifenbereich besser sein sollte, range(len(string)-len(substring))
da Sie in den letzten beiden Buchstaben der Zeichenfolge kein Wort mit drei Buchstaben finden. (Speichert einige Iterationen).
Menschen erwähnten string.find()
, string.index()
und string.indexOf()
in den Kommentaren und ich sich hier zusammenfassen (nach der Python - Dokumentation ):
Erstens gibt es keine string.indexOf()
Methode. Der von Deviljho gepostete Link zeigt, dass dies eine JavaScript-Funktion ist.
Zweitens die string.find()
undstring.index()
tatsächlich den Index eines Teilstrings zurück. Der einzige Unterschied besteht darin, wie sie mit der nicht gefundenen Teilzeichenfolge umgehen: Gibt string.find()
zurück, -1
während eine string.index()
ausgelöst wird ValueError
.
Sie können auch die Methode find () ausprobieren. Es bestimmt, ob der String str in einem String oder in einem Teilstring eines Strings vorkommt.
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
Kann auch diese Methode verwenden
if substring in string:
print(string + '\n Yes located at:'.format(string.find(substring)))