Ich habe eine Unterzeichenfolge:
substring = "please help me out"
Ich habe eine andere Zeichenfolge:
string = "please help me out so that I could solve this"
Wie finde ich heraus, ob substring
es sich um eine Teilmenge der string
Verwendung von Python handelt?
string.indexOf(substring) != -1
mehr hiersubstring
in wollenstring
, dann wollen Sie string.index(Ü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.)quelle
Wenn Sie mehr als ein Richtig / Falsch suchen, sind Sie am besten für die Verwendung des Re-Moduls geeignet, z. B.:
s.group()
wird die Zeichenfolge "Bitte helfen Sie mir" zurückgeben.quelle
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
oderfind
, was schrecklich ist, aber passiert:quelle
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()
undstring.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: Gibtstring.find()
zurück,-1
während einestring.index()
ausgelöst wirdValueError
.quelle
Sie können auch die Methode find () ausprobieren. Es bestimmt, ob der String str in einem String oder in einem Teilstring eines Strings vorkommt.
quelle
quelle
quelle
Kann auch diese Methode verwenden
quelle
Anstatt find () zu verwenden, ist eine der einfachen Möglichkeiten die Verwendung von 'in' wie oben.
Wenn 'Teilzeichenfolge' in 'str' vorhanden ist, wird ein Teil ausgeführt, andernfalls wird ein Teil ausgeführt.
quelle