Python Strings: Suchen, Ersetzen, Verketten – Komplettguide

Online Python-Trainer für Anfänger

Lernen Sie Python einfach ohne theoretische Überlastung. Lösen Sie praktische Aufgaben mit automatischer Überprüfung und schreiben Sie Code direkt im Browser.

Kurs starten

Arbeiten mit Strings in Python: Der vollständige Leitfaden

Grundlagen von Strings in Python

Strings sind in Python der fundamentale Datentyp für die Arbeit mit Textinformationen. Das Verständnis der String-Verarbeitung ist entscheidend für effizientes Programmieren.

Strings als Objekte vom Typ str

In Python sind Strings Objekte des integrierten Typs str. Sie repräsentieren Sequenzen von Unicode-Zeichen. Jeder String unterstützt eine Vielzahl eingebauter Methoden zur Textverarbeitung. Strings erlauben den Zugriff auf einzelne Zeichen über einen Index. Außerdem ermöglichen sie Vergleichs- und Sortieroperationen.

text = "Python"
print(type(text))  # <class 'str'>
print(len(text))   # 6

Das Prinzip der Unveränderlichkeit (Immutability)

Strings in Python sind unveränderliche Objekte. Das bedeutet, dass jede Transformationsoperation einen neuen String erzeugt. Der ursprüngliche String bleibt unverändert. Dieses Prinzip gewährleistet Datensicherheit und Code-Vorhersagbarkeit.

original = "hallo"
modified = original.upper()
print(original)  # 'hallo' - unverändert
print(modified)  # 'HALLO' - neuer String

Möglichkeiten zur String-Erstellung

Python bietet verschiedene Möglichkeiten, Strings zu erstellen:

  • Einfache Anführungszeichen für einfache Strings
  • Doppelte Anführungszeichen für Strings mit Apostrophen
  • Dreifache Anführungszeichen für mehrzeiligen Text
  • Raw-Strings zum Vermeiden von Escape-Sequenzen
einfach = 'einfacher String'
doppelt = "String mit 'Apostroph'"
mehrzeilig = """Erste Zeile
Zweite Zeile
Dritte Zeile"""
raw = r"pfad\zur\datei"

Indizierung und Slicing (Ausschnitte)

Zugriff auf Zeichen eines Strings

Jedes Zeichen in einem String hat einen eigenen Index. Die Indizierung beginnt bei Null. Python unterstützt sowohl positive als auch negative Indizierung.

text = "Python"
print(text[0])   # 'P' - erstes Zeichen
print(text[5])   # 'n' - letztes Zeichen
print(text[-1])  # 'n' - letztes über negativen Index
print(text[-6])  # 'P' - erstes über negativen Index

Erstellen von String-Ausschnitten (Slices)

Slices ermöglichen das Extrahieren von Teilstrings aus dem Original. Die Syntax lautet: string[anfang:ende:schritt]. Der Startindex wird eingeschlossen, der Endindex ausgeschlossen.

text = "Python Programmierung"
print(text[1:4])    # 'yth'
print(text[:6])     # 'Python'
print(text[7:])     # 'Programmierung'
print(text[::2])    # 'Pto rgamn' - jedes zweite Zeichen
print(text[::-1])   # 'gnureimmargorP nohtyP' - String umkehren

Praktische Anwendung der negativen Indizierung

Die negative Indizierung vereinfacht die Arbeit mit dem Ende eines Strings. Sie ist besonders nützlich bei der Verarbeitung von Dateien und Daten variabler Länge.

dateiname = "dokument.pdf"
erweiterung = dateiname[-4:]  # '.pdf'
namensanteil = dateiname[:-4]  # 'dokument'

Suchmethoden für Strings

Basis-Methoden zur Substring-Suche

Die Methode find() gibt den Index des ersten Vorkommens eines Substrings zurück. Wird der Substring nicht gefunden, wird -1 zurückgegeben. Die Methode rfind() sucht vom Ende des Strings.

text = "banana programmierung"
print(text.find("ana"))     # 1
print(text.find("python"))  # -1 (nicht gefunden)
print(text.rfind("ana"))    # 3
print(text.find("a", 2))    # 3 (Suche ab Position 2)

Strenge Suchmethoden mit Ausnahmen

Die Methoden index() und rindex() funktionieren ähnlich wie find(). Sie lösen jedoch eine ValueError-Ausnahme aus, wenn der Substring nicht gefunden wird.

text = "banana"
print(text.index("n"))      # 2
# print(text.index("z"))    # ValueError: substring not found

Blogs

Buchempfehlungen