Heim > Artikel > Backend-Entwicklung > So finden Sie einen Teilstring in Python
In diesem Artikel werden hauptsächlich Tipps zum Finden von Teilzeichenfolgen in PythonZeichenfolgen vorgestellt. Freunde, die sie benötigen, können sich an
Wenn Sie gebeten werden, ein Programm zu schreiben, wenden ob die Zeichenfolge s2 s1 enthält. Vielleicht können Sie intuitiv den folgenden Code schreiben:
#determine whether s1 is a sub stringof s2 def isSubstring1(s1,s2): tag = False len1 = len(s1) len2 = len(s2) for i in range(0,len2): if s2[i] == s1[0]: for j in range(0,len1): if s2[i]==s1[j]: tag = True return tag
Aber das ist Python, wir können die find()-Methode verwenden, die mit Strings geliefert wird, also können wir das tun:
def isSubstring2(s1,s2): tag = False if s2.find(s1) != -1: tag = True return tag
Das Traurige ist, dass sich herausstellt, dass das Schlüsselwort „in“ in Python nicht nur für Listen, Grundelemente und andere Datentypen verwendet werden kann, sondern auch für Strings. Sie benötigen also nur eine Codezeile, um es hier zu tun:
def isSubstring3(s1,s2): return s1 in s2
Ich habe es im Nachhinein erkannt und schäme mich;-)
Das Gleiche gilt für Sie Sie möchten mehrere Elemente in einer Zeichenfolge finden. Überprüfen Sie, ob die Teilzeichenfolge vorhanden ist, und geben Sie die Position dieser Zeichenfolgen und ihr erstes Vorkommen aus:
def findSubstrings(substrings,destString): res = map(lambda x:str([destString.index(x),x]),filter(lambda x:x in destString,substrings)) if res: return ', '.join(list(res)) ;-) very cool~
UPDATE: Es spielt keine Rolle, ob dies nicht der Fall ist Wenn Sie an die letzte scheinbar komplizierte Syntax gewöhnt sind, können Sie eine prägnantere Listenanalyse verwenden:
def findSubstrings(substrings,destString): return ', '.join([str([destString.index(x),x]) for x in substrings if x in destString])
Das obige ist der detaillierte Inhalt vonSo finden Sie einen Teilstring in Python. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!