Menu
CoddyTech

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-4567

Die 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 hi

Von 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.tscn

Jede dieser Methoden gibt einen String zurück, sodass du sie verketten kannst: raw.strip_edges().to_lower().replace(" ", "_").

challenge icon

Aufgabe

Einfach

Das 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:

  1. Entferne die Leerzeichen an beiden Enden
  2. Wandle ihn in Kleinbuchstaben um
  3. Ersetze jedes verbleibende Leerzeichen durch -
  4. Entferne jedes !, ? und .

Für die Eingabe Is Godot Fun? (mit Leerzeichen darum herum) lautet die Ausgabe:

is-godot-fun

Probier es selbst

extends Node

func _ready():
	var title := OS.read_string_from_stdin()
	# Erstelle den Slug und gib ihn aus
quiz iconTeste dich selbst

Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.

Alle Lektionen in Logik & Ablaufsteuerung

Übe selbstständig: Online-GDScript-Compiler