Direkt zum Hauptinhalt springen
eLearner.app
Modul 4 · Lektion 1 von 413/36 im Kurs~12 min
Lektionen des Moduls (1/4)

String-Methoden

Strings in Python sind unveränderlich: Jede Methode, die sie "verändert", gibt tatsächlich einen neuen String zurück, das Original bleibt wie es ist.

Python
s = "Ciao"
s.upper()   # 'CIAO'   (nuova stringa)
s           # 'Ciao'   (originale invariata)

Weise das Ergebnis zu, um den String zu "aktualisieren": s = s.upper().

Großbuchstaben, Kleinbuchstaben, Case-Control

Python
"Ciao".upper()        # 'CIAO'
"CIAO".lower()        # 'ciao'
"ciao mondo".title()  # 'Ciao Mondo'
"ciao".capitalize()   # 'Ciao'
"CiAo".swapcase()     # 'cIaO'

Bereinigung: strip

Entfernt Whitespace (Leerzeichen, Tabs, Zeilenumbrüche) von den Rändern.

Python
"  ciao  ".strip()       # 'ciao'
"  ciao  ".lstrip()      # 'ciao  '
"  ciao  ".rstrip()      # '  ciao'
"___ciao___".strip("_")  # 'ciao'   (argomento = caratteri da togliere)

Splitten und Zusammenfügen: split / join

Python
"a,b,c".split(",")          # ['a', 'b', 'c']
"  ciao  mondo".split()     # ['ciao', 'mondo']   (split su whitespace, salta i vuoti)
",".join(["a", "b", "c"])  # 'a,b,c'

Grundlegendes Idiom: "separator".join(list_of_strings). Alle Elemente müssen Strings sein, andernfalls tritt ein TypeError auf.

Ersetzen: replace

Python
"ciao mondo".replace("mondo", "Python")   # 'ciao Python'
"aaaa".replace("a", "b", 2)               # 'bbaa'   (max 2 sostituzioni)

Inhaltstests

Python
"image.png".endswith(".png")   # True
"http://".startswith("http")    # True
"ciao" in "ciao mondo"          # True   (operatore in)
"ciao mondo".find("mondo")      # 5      (-1 se non trovato)
"ciao mondo".count("o")         # 2

find gibt -1 zurück, wenn der Teilstring nicht vorhanden ist; index löst stattdessen einen ValueError aus.

Strings sind unveränderlich

In Python sind Strings unveränderlich: Keine String-Methode ändert den ursprünglichen String; stattdessen geben sie immer einen neuen String zurück. Wenn du s.upper() schreibst, bleibt die Variable s unverändert. Um die Änderung zu speichern, musst du sie neu zuweisen: s = s.upper().

Probiere es aus

Übung#python.m4.l1.e1
Versuche: 0Wird geladen…

Gegeben sei `name = ' Ada Lovelace '`. Berechne `cleaned` als `name` ohne Randschnitt-Leerzeichen und komplett in Kleinbuchstaben. Evaluiere `cleaned`.

Editor wird geladen…
Hinweis anzeigen

Verkette die Methoden: zuerst strip(), dann lower().

Lösung nach 3 Versuchen verfügbar

Wiederholungsübung

Übung#python.m4.l1.e2
Versuche: 0Wird geladen…

Gegeben sei `csv = 'mela,pera,kiwi'`. Erhalte die Liste `fruits`, indem du an Kommas splittest, und baue dann `slash_separated` zusammen, indem du mit ' / ' joinst. Evaluiere `slash_separated`.

Editor wird geladen…
Hinweis anzeigen

split zerlegt, join fügt wieder zusammen.

Lösung nach 3 Versuchen verfügbar

Zusätzliche Herausforderung

Übung#python.m4.l1.e3
Versuche: 0Wird geladen…

Entferne im String `raw_text = " hello world "` die führenden und nachfolgenden Leerzeichen mit `.strip()` und konvertiere den Text in Großbuchstaben. Speichere das bereinigte Ergebnis in `clean_text` und evaluiere es.

Editor wird geladen…
Hinweis anzeigen

Kombiniere die Aufrufe in einer Kette: raw_text.strip().upper().

Lösung nach 3 Versuchen verfügbar