Strings

Allgemeines
String Verknüpfung
Teilstring
Strings durchsuchen
Mehrzeilige Strings

Allgemeines

Auch ohne Sie explizit eingeführt zu haben, haben wir im Abschnitt zu Variablen bereits Strings verwendet. Ein String ist eine Folge von Zeichen, welche innerhalb von einfachen oder doppelten Anführungszeichen gesetzt wird. Strings können Variablen zugeordnet werden, welche dann anstelle der Strings im Quelltext verwendet werden können.

Nachfolgend einige Beispiele für Strings:

'Hello'
"Hello"
" ' Hello ' "
' " Hello " '
            

Wie dem Beispiel zu entnehmen ist, können wir nach dem einführenden Zeichen (einfaches oder doppeltes Anführungszeichen) das andere Zeichen in der Zeichenkette (String) verwenden.

String Verknüpfung

Manchmal möchten wir zwei oder mehrere Strings zu einem neuen String verknüpfen. Dies erreichen wir in Scala mit dem + Operator. Wir können dabei auch String Literale mit String Variablen zu einem neuen String verbinden.

location = "World"
greeting = "Hello " + location "!"
            

Nach der Verknüpfung hat die Variable greeting den Inhalt Hello World!.

Teilstrings

Python bietet uns eine einfache Möglichkeit auf Teile des Strings zuzugreifen. Geben wir, nach einem String in rechteckigen Klammern einen ganzzahligen Ausdruck an, so erhalten wir das Zeichen an der Stelle des übergebenem Wertes. Zu beachten ist hier, das die Indizierierung mit 0 beginnt. Das erste Zeichen eines Strings hat demnach den Index 0.

ex1 = "Hello World"[0]
print ex1
message = "Hello World!"
ex2 = message[2]
print ex2
            

Die Ausführung des Programms führt zu folgender Ausgabe auf der Systemausgabe:

H
l
            

Geben wir negative Werte als Index an, so bedeutet dies, das wir die Indizierung beim letzten Zeichen beginnend rückwärts vornehmen. Das letzte Zeichen des Strings hat dabei den Index -1.

message = "Hello World!"
ex1 = message[-2]
print ex1
            

Die Variable ex1 hat nun den Wert d.

Möchten wir mehrere Zeichen aus einem String extrahieren, si geben wir durch einen Doppelpunkt getrennt den Index des ersten (enthaltenen) Zeichens und den Index des ersten nicht enthaltenen Zeichens an. Geben wir einen Wert, vor oder nach dem Doppelpunkt nicht an, so bedeutet dies, dass wir vom Anfang bzw. bis zum Ende des Strings extrahieren.

message = "Hello World!"
ex1 = message[2:4]
print ex1
ex2 = message[:4]
print ex2
ex3 = message[2:]
print ex3
            

Die Ausführung des Programms führt zu folgender Ausgabe auf der Systemausgabe;

ll
Hell
llo World!
            

Strings durchsuchen

Um einen String zu durchsuchen bietet uns der Datentyp String die Prozedur find an. Der Methode find übergeben wir dabei die Zeichenfolge, nach der im String gesucht werden soll. Als Ergebnis liefert die Prozedur find den Index des ersten Auftreten bzw. -1 wenn der gesuchte String nicht enthalten ist.

hello = "Hello world! From Python"

pos1 = hello.find("world")
pos2 = hello.find("World")
pos3 = hello.find("MyName")

print(pos1)
print(pos2)
print(pos3)
            

Die Ausführung des Programms führt zu folgender Ausgabe auf der Systemausgabe:

6
-1
-1
            

Wie dem Beispiel zu entnehmen ist, unterscheidet die Suche nach Strings zwischen Groß- und Kleinschreibung.

Eine andere Variante der Prozedur find erlaubt es uns nach Zeichenketten zu suchen, welche nach einer anzugebenden Position (Index) auftreten. Hierfür übergeben wir der Prozedur find den Suchstartindex als zweiten Parameter.

guck = "schau her schau her schau her"

pos1 = guck.find("schau",2)
pos2 = guck.find("schau",13)
pos3 = guck.find("schau",22)

print pos1
print pos2
print pos3
            

Die Ausführung des Programms führt zu folgender Ausgabe auf der Systemausgabe.

10
20
-1
            

Mehrzeilige Strings

Python erlaubt es uns String Literale zu definieren, welche über mehr als eine Zeile gehen. Hierzu umschließen wir einfach den String mit jeweils drei einfachen Anführungszeichen (Hochkommata).

hello = '''Ich erstrecke mich
ueber mehrere
Zeilen'''