Immer wenn es darum geht Daten zu verarbeiten in Python gibt es wieder Momente, in denen Zeichenfolgen, Strings oder auch Zeichenketten-Literale genannt, verarbeitet werden müssen. Du diese aber in einer anderen Form für deinen Use Case benötigst. Weshalb ich dir in diesem Artikel alle wichtigen Methoden vorstellen, werde, um einen String in Python zu verändern.
Die offizielle Python Dokumentation für Python 3.11 zählt insgesamt stand jetzt 47 Methoden einen String zu verarbeiten oder zu überprüfen, in diesem Artikel konzentrieren wir uns auf die wichtigsten Methoden zur Veränderung.
Eine Methode, um einen String zu verändern, wird immer an den String gehangen, diese könnte wie im folgenden Code aussehen:
"string".upper()
Natürlich kannst du das ganze auch auf eine Variable vom Typ „str“ anwenden.
Folgender Code gilt für alle Folgenden Beispiel, ich spare mir allerdings diesen Code jedes mal neu zu definieren und verwende eine Gekürtzte variante.
mein_string = "Hallo Welt"
mein_string = mein_string.<methode>()
print(mein_string) # Ausgabe: "Hallo Welt" -> (manipuliert durch die Methode)
Je nach Situation benötigst du die Möglichkeit einen String Lowercase (Kleinbuchstaben) oder Uppercase (Großbuchstaben) zu formatieren. Zum Beispiel, wenn du 2 Strings vergleichen willst, die aus verschiedenen Quellen stammen und unterschiedlich formatiert sind, ist es häufig am einfachsten diese in Kleinbuchstaben zu formatieren, um diese dann direkt miteinander vergleichen zu können.
mein_string.lower() # Ausgabe: "hallo welt"
Diese geht natürlich nicht nur mit der lower
Methode, sondern auch mit der upper
Methoden. Diese Konvertiert, wie der Name schon sagt, alles in Großbuchstaben und die Lower Methoden eben in Kleinbuchstaben.
mein_string.upper() # Ausgabe: "HALLO WELT"
Manchmal hast du vielleicht ein String, der in Lowercase ist und du benötigst in ihn Uppercase oder auch umgekehrt? Anstatt jetzt erst zu prüfen, ob es Kleinbuchstaben oder Großbuchstaben enthalten sind, verwende doch einfach die Methode swapcase
diese Tauscht den Case.
mein_string.swapcase() # Ausgabe: "hALLO wELT"
Der Title Case setzt alle Zeichen eines Strings in Kleinbuchstaben bis auf den Ersten eines jeden Wortes, dieser wird in Großbuchstaben gesetzt. Gerade wenn du Title erhältst und diese etwas ansprechender formatieren willst – kann dir die Methode ggf. helfen.
mein_string = "HALLo WElt"
mein_string.title() # Ausgabe: "Hallo Welt"
Zum Beispiel, wenn der Nutzer seinen Namen aus Versehen mit Groß und Kleinbuchstaben gemischt eingibt, kannst du so die Eingabe normalisieren.
Es gibt verschieden Versionen der strip
Methode, am häufigsten wird diese verwendet um Lehrstellen am Anfang und/oder Ende eines String zu entfernen. Gerade bei Nutzereingaben kommt es häufiger einmal vor, dass dieser ein Fehler macht und eine Lehrstelle zu viel übertragen wird. Das ist ein typischer Fall für die strip
Methode.
Besonderheit hier ist, dass nicht darauf geachtet wird, ob das Zeichen am Anfang oder Ende des Strings vorkommt und es wird keine Zeichenfolge beachtet. Heißt, die Zeichen können in einer beliebige Rheinfolge der Methode übergeben werden. Als Beispiel habe ich hier einmal mit einem Palindrom gearbeitet, um das Verhalten besser zu verdeutlichen.
mein_string = "reittier"
mein_string.strip("rie") # Ausgabe: tt
Neben der strip
Methode, die vom Anfang und Ende alle Zeichen wegnimmt, die Definiert wurden, nimmt rstrip
nur die Zeichen auf der rechten Seite weg.
mein_string.rstrip("ier") # Ausgabe: reitt
Wenn es ein rstrip
gibt, muss es auch ein lstrip
geben, bei dieser Methode wird dementsprechende alles von der linken Seite entfernt, was eines unserer definierten Zeichen entspricht.
mein_string.lstrip("eri") # Ausgabe: ttier
Ein Prefix ist eine Zeichenfolge am Anfang und ein Suffix ist eine Zeichenfolge am Ende einer Zeichenfolge. So gibt es zwei weitere Methoden in Python.
Die removeprefix
Methode kann verwendet werden, um den Anfang einer Zeichenfolge zu entfernen.
mein_string.removeprefix("Hallo") # Ausgabe: " Welt"
Die removesuffix
Methode kann verwendet werden, um eine Zeichenfolge am Ende eines Strings zu entfernen.
mein_string.removesuffix("Welt") # Ausgabe: "Hallo "
Die replace
Methode ist ein der wichtigsten Methoden um eine String zu manipulieren in Python. Hiermit kannst du ein Wert durch einen neuen Wert ersetzen. Zusätzlich kannst du als 3 Parameter definieren, wie häufig du ein Wert durch einen anderen Wert ersetzen lassen möchtest.
mein_string.replace("Hallo","Bonjour") # Ausgabe: "Bonjour Welt"
Folgendes Beispiel ersetzt nur die ersten beiden Vorkommen des Wortes Hallo durch Bonjour. Sobald du den Zähler auf 3 setzen würdest, hättest du auf dieses Beispiel bezogen alle bekannten Vorkommen von Hallo ersetzt.
mein_string = "Hallo Hallo Hallo Welt"
mein_string.replace("Hallo","Bonjour",2) # Ausgabe: "Bonjour Bonjour Hallo Welt"
Tipp: Wenn du zum Beispiel nur einen bestimmten Wert von einem String entfernen möchtest, könntest du als neuen Wert zum Beispiel auch einen leeren String angeben.
Wenn du etwa eine URL trennen willst, anhand ihrer Pfad-Bestandteile kann dir die split
Methode zum Beispiel helfen. Bezogen auf unser Beispiel könnten wir zum Beispiel anhand der Leerstelle trennen und erhalten, eine Liste mit 2 Werten.
mein_string.split(" ") # Ausgabe: ["Hallo","Welt"]
Manchmal benötigst du ggf. nur eine spezifische Anzahl von Teilungen, dann kannst du den maxsplit
Parameter verwenden und so das Ganze begrenzen. Ähnlich zu dem 3ten Parameter bei der replace
Ersetzen Methode verhält sich das Ganze.
mein_string = "Hallo Computer Welt"
mein_string.split(" ", maxsplit=1) # Ausgabe: ["Hallo","Computer Welt"]
Es gibt viele Methoden, die dir dabei helfen, einen String in Python zu verändern. Wichtig ist, dass du dir über die Vielzahl von Möglichkeiten bewusst bist. So fällt es dir im Alltag leichter, die richtigen Wege zu finden, um dein Problem zu lösen.
Hinterlasse mir gerne einen Kommentar zum Artikel und wie er dir weitergeholfen hat beziehungsweise, was dir helfen würde das Thema besser zu verstehen. Oder hast du einen Fehler entdeckt, den ich korrigieren sollte? Schreibe mir auch dazu gerne ein Feedback!
Es sind noch keine Kommentare vorhanden? Sei der/die Erste und verfasse einen Kommentar zum Artikel "Methoden um Strings in Python zu manipulieren"!