Aus Das deutschsprachige Scratch-Wiki
Oft ist es notwendig, eine Zeichenkette in mehrere Teile aufzuteilen. Benutzerdefinierte Blöcke ermöglichen eine flexible Methode, dies zu erreichen. Es gibt zwei Haupttypen der Zeichenkettenaufteilung: die Aufteilung in zwei Teile an einem Punkt und die Aufteilung in eine Liste an einem bestimmten Zeichen (oft in Verbindung mit Leerzeichen, um in Wörter aufzuteilen).
Aufteilung in zwei Variablen
Für das folgende Skript braucht man drei Variablen:
(zeichen)
— eine Variable, die für die Iteration durch die Zeichenkette verwendet wird(spaltung 1)
— die Variable, die den ersten Teil der Zeichenkette enthält(spaltung 2)
— die Variable, die den zweiten Teil der Zeichenkette enthält
Definiere spalte Zeichenkette (string :: custom-arg) nach Charakter (charakter :: custom-arg) setze [zeichen v] auf (0) // beginnt am Anfang setze [spaltung 1 v] auf [] // initialisiere setze [spaltung 2 v] auf [] setze [fehler v] auf [false] falls <(charakter :: custom-arg) < ((Länge von (string :: custom-arg)) + (1))> , dann wiederhole (charakter :: custom-arg) mal ändere [zeichen v] um (1) setze [spaltung 1 v] auf (verbinde (spaltung 1) und (Zeichen (zeichen) von (string :: custom-arg))) end wiederhole ((Länge von (string :: custom-arg)) - (charakter :: custom-arg)) mal ändere [zeichen v] um (1) setze [spaltung 2 v] auf (verbinde (spaltung 2) und (Zeichen (zeichen) von (string :: custom-arg))) end sonst setze [fehler v] auf [true] end
In eine Liste spalten
For this script, three variables and a list will be needed. Für dieses Skript werden drei Variablen und eine Liste benötigt:
(zeichen)
— verwendet, um durch die Zeichenkette zu iterieren(spaltung 1)
— wird verwendet, um den ersten Teil der Zeichenkette zu speichern(spaltung 2)
— zum Speichern des zweiten Teils der Zeichenkette(gespaltet::list)
— das Endergebnis
Definiere spalte Zeichenkette (string :: custom-arg) nach Charakter (charakter :: custom-arg) setze [zeichen v] auf (0) // beginnt am Anfang setze [spaltung 1 v] auf [] // initialisiere setze [spaltung 2 v] auf [] setze [fehler v] auf [false] lösche alles aus [gespaltet v] falls <(charakter :: custom-arg) < ((Länge von (string :: custom-arg)) + (1))> , dann wiederhole (charakter :: custom-arg) mal ändere [zeichen v] um (1) setze [spaltung 1 v] auf (verbinde (spaltung 1) und (Zeichen (zeichen) von (string :: custom-arg))) end füge (spaltung 1) zu [gespaltet v] hinzu wiederhole ((Länge von (string :: custom-arg)) - (charakter :: custom-arg)) mal ändere [zeichen v] um (1) setze [spaltung 2 v] auf (verbinde (spaltung 2) und (Zeichen (zeichen) von (string :: custom-arg))) end füge (spaltung 2) zu [gespaltet v] hinzu sonst setze [fehler v] auf [true] end
Demo
Code zum Einbinden ins Forum:
[wiki=de:Zeichenketten aufteilen]Zeichenketten aufteilen[/wiki]
[wiki=de:Zeichenketten aufteilen]Zeichenketten aufteilen[/wiki]