Stringoperationen in Python

Dieses Tutorial gibt eine Einführung in die Stringoperationen in Python: Angefangen mit Zusammenfügen von Zeichenketten, Bestimmen der Länge und das Benutzen des Index-Operators, um auf einzelne Zeichen zuzugreifen, zeigen wir auch die Iteration über Zeichenketten, Suchen und Vergleichen von Strings sowie erläutern kurz die Standard-Methoden für Strings in Python.

Länge einer Zeichenkette

Die Länge eines Strings kann man mit der Funktion len() bestimmen

jberries = 'jberries'
len(jberries) # => 8

Zeichenketten verbinden

Um Strings zu verbinden, kann man wie oft in anderen Programmiersprachen den Plus "+" Operator verwenden:

foo = "foo"
bar = "bar"
print(foo + bar) # => foobar

Allerdings macht Python keine automatische String-Konvertierung, falls eine der Variablen kein String ist, und wirft in diesem Fall einen Fehler. In diesem Fall können wir einfach die "str() " Funktion verwenden:

foo = "foo"
bar = 5
print(foo + bar) # => TypeError: can only concatenate str (not "int") to str
print(foo + str(bar)) # => foo5

Zeichenketten und der Index-Operator

Mit dem "Index-Operator" kann man in Python auf die einzelnen Zeichen einer Zeichenkette zugreifen. So ist es sehr einfach zB. die ersten oder letzen x-Zeichen eines Strings zu extrahieren oder auf ein bestimmtes Zeichen zuzugereifen. Der Index-Operator kann sowohl mit positiven als auch mit negativen Indizes umgehen:

12345678
jberries
-8-7-6-5-4-3-2-1

Dazu hier einige Beispiele:

Alle Zeichen ab dem 1. Zeichen

print(jberries[1:]) # => berries

Zeichen zwischen Index 2 bis 5

print(jberries[2:5]) # => err

Die letzen 3 Zeichen

print(jberries[-3:]) # => ies

Die ersten zwei Zeichen

print(jberries[:-6]) # => jb
# oder
print(jberries[0:2]) # => jb

Das vorletzte Zeichen

print(jberries[-2]) # => e

Reihenfolge der Zeichen umkehren (Zeichenkette invertiert)

jberries = 'jberries'
jberries_inv = jberries[::-1]
print(jberries_inv) # => seirrebj

String/Byte Konvertierung und Encoding

Eine Zeichenkette mit utf-8 Kodierung in ein byte-array zu konvertieren:

test = bytes("😀JBerries", encoding = 'utf-8')

Anschließend können wir den byte-array wieder in einen String verwandeln:

str(test, encoding = "ascii", errors ="ignore") # => JBerries

Hier haben wir die ASCII-Kodierung ausgewählt, die das Smiley-Zeichen nicht beinhaltet und mit errors ="ignore" den Fehler unterdrückt, der sonst geworfen wird.

Iterationen über Zeichenketten

Die einfachste Variante ist mit der for-Schleife:

for c in "jberries":
  print (c)

Möchten wir nur über einen Teil des String iterieren, können wir dafür in der for-Schleife range einsetzen:

jb = "jberries"
for i in range(2, 4):
    print(jb[i])
# => e
# => r

Überprüfen, ob eine andere Zeichenkette in einem String enthalten ist

Das geht in Python wieder sehr einfach:

if "jb" in "jberries":
    print("jb ist in jberries")
# => jb ist in jberries

Gängige String-Methoden