Programmierung mit Zeichenketten

Wir haben Zeichenketten bereits mit dem +-Operator aneinander gehängt. In Python können wir Zeichenketten auch mit Zahlen multiplizieren. Dabei wird wie bei der repeat()-Funktion aus dem vorigen Abschnitt eine Zeichenkette eine gegebene Anzahl oft wiederholt:

>>> '*' * 5
'*****'
>>> 5 * '*'
'*****'

Zeilenumbrüche und Tabulatoren können als \n bzw. \t notiert werden. Der folgende Aufruf demonstriert die Verwendung dieser Steuerzeichen.

>>> print(('*\t' * 5 + '\n') * 5)
*       *       *       *       *
*       *       *       *       *
*       *       *       *       *
*       *       *       *       *
*       *       *       *       *

>>> 

In diesem Aufruf wird fünfmal hintereinander die Zeichenkette '*\t' * 5 + '\n' ausgegeben, die ihrerseits fünfmal die Zeichenkette *\t sowie einen Zeilenumbruch enthält.

Um alle sogenannten whitespaces (also Leerzeichen, Tabulator-Zeichen, Zeilenende-Zeichen usw.) am Anfang und am Ende einer Zeichenkette zu entfernen, können wir .strip() verwenden:

>>> " \t a  b c \n ".strip()
'a  b c'

Die Funktion len liefert die Anzahl der Zeichen einer Zeichenkette zurück.

>>> len("Hello World!")
12

Einzelne Zeichen konnen durch Angabe eines Index in eckigen Klammern aus anderen Zeichen extrahiert werden. Das erste Zeichen hat dabei den Index 0. Bei Verwendung eines ungültigen Index erhalten wir eine Fehlermeldung.

>>> "Hallo Welt!"[0]
'H'
>>> hello = "Hallo Welt!"
>>> hello[len(hello)-1]
'!'
>>> hello[len(hello)]
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
IndexError: string index out of range

Teilstrings können durch Angabe eines Index für Anfang und Ende in eckigen Klammern extrahiert werden. Die folgenden Aufrufe demonstrieren dies:

>>> "Hallo Welt!"[0:5] 
'Hallo'
>>> "Hallo Welt!"[6:10]
'Welt'
>>> "Hallo Welt!"[10:20]
'!'

Die Angabe des extrahierten Bereiches erfolgt mit [Startwert:Endwert], wobei der Endwert den Index des ersten Zeichens bezeichnet, das nicht mehr extrahiert wird. Bei Verwendung zu großer Indizes ist das Ergebnis die leere Zeichenkette.

>>> "Hallo Welt!"[100:200]
''

Als Startwert und Endwert können auch negative Zahlen angegeben werden. In diesem Fall wird die Position vom Ende der Zeichenkette bestimmt:

>>> "Hallo Welt!"[-5:-1]
'Welt'