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.
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!
.
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!
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
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'''