Ersetzen und Trimmen
Teil des Abschnitts Logik & Ablaufsteuerung der GDScript-Journey von Coddy. Lektion 3 von 78.
replace(what, with) gibt einen neuen String zurück, in dem jedes Vorkommen von what durch with ersetzt wird. Durch Ersetzen mit einer leeren Zeichenfolge wird der Text entfernt:
var phone := "555-123-4567"
print(phone.replace("-", ""))
print(phone.replace("-", " "))
print(phone)5551234567
555 123 4567
555-123-4567Die ursprüngliche Zeichenkette ändert sich nicht. replace() unterscheidet zwischen Groß- und Kleinschreibung; replacen() macht dasselbe und ignoriert die Groß- und Kleinschreibung:
var chat := "Hello hello HELLO"
print(chat.replace("hello", "hi"))
print(chat.replacen("hello", "hi"))Hello hi HELLO
hi hi hiVon einem Benutzer eingegebener Text hat oft zusätzliche Leerzeichen am Anfang und Ende. strip_edges() entfernt Leerzeichen, Tabulatoren und Zeilenumbrüche an beiden Enden und behält sie in der Mitte bei:
var typed := " Ana Lee "
print("[" + typed.strip_edges() + "]")[Ana Lee]strip_edges(true, false) entfernt nur das linke Ende und strip_edges(false, true) nur das rechte Ende. Um einen bestimmten Text an einem Ende zu entfernen, verwende trim_prefix() oder trim_suffix(). Sie ändern nichts, wenn der Text dort nicht vorhanden ist:
print("level_03.tscn".trim_suffix(".tscn"))
print("level_03.tscn".trim_suffix(".png"))level_03
level_03.tscnJede dieser Methoden gibt einen String zurück, sodass du sie verketten kannst: raw.strip_edges().to_lower().replace(" ", "_").
Aufgabe
EinfachDas Programm liest einen Leveltitel in title ein. Wandle ihn in einen Slug um, eine Version des Titels, die als Dateiname verwendet werden kann, und gib ihn aus. Gehe dabei in dieser Reihenfolge vor:
- Entferne die Leerzeichen an beiden Enden
- Wandle ihn in Kleinbuchstaben um
- Ersetze jedes verbleibende Leerzeichen durch
- - Entferne jedes
!,?und.
Für die Eingabe Is Godot Fun? (mit Leerzeichen darum herum) lautet die Ausgabe:
is-godot-funProbier es selbst
extends Node
func _ready():
var title := OS.read_string_from_stdin()
# Erstelle den Slug und gib ihn aus
Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.
Alle Lektionen in Logik & Ablaufsteuerung
1Strings im Detail
String-MethodenIn Strings suchenErsetzen und TrimmenAufteilen und ZusammenfügenRückblick – Benutzernamen prüfen4Wörterbücher Teil 2
Verschachtelte WörterbücherArrays aus WörterbüchernWörterbücher zusammenführenWörterbücher kopierenWiederholung – Häufigkeitszähler10Fortgeschrittene Funktionen
Mehrere Werte zurückgebenLambda-Funktionen Teil 1Lambda-Funktionen Teil 2Wiederholung – Sortieren mit LambdaRekursive Funktionen Teil 1Rekursive Funktionen Teil 2Wiederholung – Verschachteltes Array summieren13Inventarverwaltungssystem
ProjektübersichtArtikel hinzufügen2Fortgeschrittene Entscheidungsfindung
Match mit VariablenMatch-GuardsArray-MusterDictionary-MusterMitgliedschaftsprüfungenRückblick – Befehlsparser5Kontaktbuch-Anwendung
Menü anzeigenKontakt hinzufügen8Schülerdatenverwaltung
ProjektübersichtSchüler hinzufügen3Mehrdimensionale Arrays
Grundlagen zu 2D-ArraysAuf Elemente in 2D-Arrays zugreifenVerschachtelte Schleifen mit 2D-ArraysWiederholung – 2D-ArraysGezackte ArraysGängige Muster für 2D-ArraysWiederholung – Spielbrett6Mengen mit Dictionaries
Was ist eine Menge?Dictionary als MengeHinzufügen und EntfernenVereinigung und SchnittmengeMengendifferenzWiederholung – Duplikate entfernen9Fortgeschrittene Datenaggregation
Werte summierenMinimum und Maximum findenBenutzerdefiniertes SortierenRückblick – Wörterbuch-Sortierer12Einfache Fehlerbehandlung
Was ist Fehlerbehandlung?Eingaben validierenGuard ClausesFehlercodes zurückgebenRückblick – Sichere DivisionÜbe selbstständig: Online-GDScript-Compiler