„Beginnt mit“-Methode: Stringanfang überprüfen mit .startswith()
Die Methode .startswith()
liefert „True“ zurück, wenn das Gesuchte am Anfang des Strings vorhanden ist. Ansonsten kommt als Rückgabewert „False“.
Die englische Zusammenziehung liest sich ungewohnt. Übersetzt man es ein wenig „holprig“ ins deutsche, ist die Funktion der Methode klar:
- starts = startet, beginnt
- with = mit
Also einfach die Methode „Beginnt-mit“.
Wir können also Überprüfen, ob bei einem String der Anfang einer von uns bestimmten Zeichenfolge entspricht.
Nehmen wir an, wir haben als String als Text eine URL und wollen überprüfen, ob diese mit „https://“ startet.
inhalt = "https://www.python-lernen.de"
ergebnis = inhalt.startswith("https://")
print(ergebnis)
Als Rückmeldung erhalten wir „True“, da die Überprüfung korrekt war. Würde die URL allerdings mit „http://“ starten, kommt ein „False“ zurück:
inhalt = "http://www.python-lernen.de"
ergebnis = inhalt.startswith("https://")
print(ergebnis)
Wie schon bei der Methode „.endswith()“ gibt es weitere Parameter.
- Suffix (muss angegeben werden): zu überprüfende Zeichenfolge
- Startposition (optional): Startpunkt, ab dem überprüft wird
- Endposition (optional): Endpunkt, bis zu dem überprüft wird
Wir können also auch festlegen, ab welcher Position angefangen wird, die Überprüfung zu starten und bis zu welcher Position.
Mehrere Fälle überprüfen mit .startswith()
Im obigen Beispiel haben wir schon gesehen, dass es mehrere Fälle geben kann. In unserem Beispiel kann eine Internetadresse mit „https://“ oder mit „http://“ beginnen. Klar wäre es jetzt einfach nur auf „http“ zu überprüfen. Wenn wir allerdings sicherstellen wollen, dass auch der „://“ für eine korrekte URL vorhanden ist, dann haben wir diese beiden Fälle:
- https://
- http://
Und diese beide Fälle können wir als Tupel (siehe entsprechendes Kapitel) schreiben:
urlanfang_als_tupel = ("https://", "http://")
Und genau dieses Tupel können wir als Kontrollwert unserer Methode .startswith()
übergeben und erhalten ein „True“ als Rückgabewert, wenn einer der Werte des Tupels zutrifft.
inhalt = "https://www.python-lernen.net"
urlanfang_als_tupel = ("https://", "http://")
ergebnis = inhalt.startswith(urlanfang_als_tupel)
print(ergebnis)
Öfters ist auch die Methode in der folgenden Schreibweise anzutreffen (auf die 2 runden Klammern achten!):
inhalt = "https://www.python-lernen.net"
ergebnis = inhalt.startswith(("https://", "http://"))
print(ergebnis)