Aufteilen und Zusammenfügen
Teil des Abschnitts Logik & Ablaufsteuerung der GDScript-Journey von Coddy. Lektion 4 von 78.
Du hast bereits Zeichenketten mit split() zerlegt und Arrays mit join() zusammengefügt. Beide können noch mehr.
Die Teile von split() sind Zeichenfolgen, genau so, wie sie zwischen den Trennzeichen erscheinen, einschließlich Leerzeichen. Bereinige oder konvertiere jeden Teil, bevor du ihn verwendest. Ein Element des Ergebnisses kann über seinen Index ersetzt werden:
var items := "sword, shield ,bow".split(",")
print(items)
for i in range(items.size()):
items[i] = items[i].strip_edges()
print(items)["sword", " shield ", "bow"]
["sword", "shield", "bow"]Das zweite Argument von split() kennst du bereits: true behält leere Teile bei, false verwirft sie. Ein drittes Argument begrenzt die Anzahl der Trennungen. split(" ", true, 1) trennt nur am ersten Leerzeichen, wodurch ein Befehl vom Rest der Zeile getrennt wird:
print("say hello there".split(" ", true, 1))["say", "hello there"]rsplit() funktioniert genauso, zählt die Trennungen aber von rechts aus, sodass es am letzten Punkt eines Dateinamens trennen kann:
print("save.backup.json".rsplit(".", true, 1))["save.backup", "json"]join() akzeptiert auch ein Array von Zahlen und wandelt jede einzelne in Text um: ", ".join([3, 1, 2]) ist "3, 1, 2".
Aufgabe
EinfachDas Programm liest eine Zeile mit durch Kommas getrennten Wörtern in line ein. Um die Wörter herum können Leerzeichen stehen, zum Beispiel red, green ,blue.
Gib drei Zeilen aus:
- Die Anzahl der Wörter
- Die Wörter ohne die Leerzeichen darum, in Großbuchstaben und mit
>verbunden (Leerzeichen, Größer-als-Zeichen, Leerzeichen) - Das längste Wort ohne Leerzeichen. Wenn mehrere Wörter gleich lang sind, gib das erste aus
Für die Eingabe red, green ,blue lautet die Ausgabe:
3
RED > GREEN > BLUE
greenProbier es selbst
extends Node
func _ready():
var line := OS.read_string_from_stdin()
# Gib die Anzahl, die zusammengefügten Wörter und das längste Wort 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