Fachkonzept - Zeichenkette
Datentyp Zeichenkette
Wir benutzen Zeichenketten, um Folgen von Zeichen als Daten zu erfassen.
Eine Zeichenkette ist eine (evtl. leere) Folge von Zeichen (aus einer vorgegebenen Zeichenmenge), die zu einer Dateneinheit zusammengefasst ist. Der Datentyp Zeichenkette beschreibt die Menge der möglichen Zeichenketten zusammen mit den Operationen, die mit Zeichenketten vorgesehen sind.
Zeichenketten als sequentielle Objekte
Eine Zeichenkette ist ein sequentielles Datenobjekt, das aus einer Folge einzelner Zeichen besteht. Die Elemente eines solchen sequentiellen Datenobjekts sind der Reihe nach durchnummeriert. Die Nummerierung beginnt dabei (in Python) mit 0. Die Nummer eines sequentiellen Datenobjekts wird auch Index genannt.
Zugriff auf einzelne Zeichen
Der Zugriff erfolgt über den Index des sequenziellen Datenobjekts.
Wenn die Variable text
eine Zeichenkette verwaltet, dann beschreibt der Ausdruck
text[i]
das Zeichen mit dem Index i
.
Beachte, dass ein Zugriff auf ein nicht existierendes Element zu einer Fehlermeldung führt.
Beachte auch, dass in Python nur ein lesender Zugriff auf einzelne Zeichen einer Zeichenkette möglich ist. Abändern kann man einzelne Zeichen einer Zeichenkette mit Hilfe von Zuweisungen nicht.
Eine veränderte Zeichenkette erhält man nur, indem man eine neue Zeichenkette mit dem
+
-Operator aufbaut (s.u.).
Zugriff auf Bereiche einer Zeichenkette
In Python lassen sich auf einfache Weise auch ganze Bereiche einer Zeichenkette herausgreifen. Hier einige Beispiele:
Aneinanderhängen von Zeichenketten
Mit dem +
-Operator kann man Zeichenketten aneinanderhängen.
Diesen +
-Operator kann man verwenden, wenn man eine neue Zeichenkette aufbauen möchte:
Länge einer Zeichenkette
Die Länge einer Zeichenkette erhält man mit dem len
-Operator.
Eine Zeichenkette durchlaufen
Wenn man alle Zeichen einer Zeichenkette verarbeiten möchte, lässt sich das wie folgt mit einer SOLANGE-Wiederholung realisieren:
# text = ...
i = 0
while i < len(text):
# verarbeite text[i]
i = i + 1
Hier durchläuft man die Zeichenkette über den Index der einzelnen Elemente.
In Python können sequenzielle Datenobjekte auch mit einer for
-Anweisung
durchlaufen werden:
# text = ...
for i in range(len(text)):
# verarbeite text[i]
Der range
-Operator erzeugt hier den gewünschten Indexbereich.
Noch kürzer geht es mit einer for
-Schleife, die direkt über die Zeichen der Zeichenkette läuft.
# text = ...
for zeichen in text:
# verarbeite zeichen