Aus Das deutschsprachige Scratch-Wiki

Dieses Tutorial zeigt, wie man ein Skript schreibt, das jedes Vorkommen eines bestimmten Strings in einem String findet und durch einen anderen String ersetzt. Ein solches Skript wird oft benötigt, weil es in Scratch keinen Block für diese Aufgabe gibt.

Programmierung

Das Skript sollte drei Vorgaben erhalten: der String, der verabeitet werden soll, ein String, der ersetzt werden soll und einen String, durch den er ersetzt werden soll. Es sollte die verarbeitete Zeichenkette in eine (Ergebnis) Variable ausgeben.

Scratch bietet keine Methode zum Auffinden von Substrings, daher muss das Skript eine Schleife über jedes Zeichen in der Zeichenkette ziehen und prüfen, ob das aktuelle Zeichen am Anfang des zu ersetzenden Substrings steht. Ist dies der Fall, wird zum Ende der Substring gesprungen und die Ersatzzeichenkette zur Ausgabe hinzugefügt. Ist dies nicht der Fall, wird einfach das aktuelle Zeichen an die Ausgabe angehängt.

Um festzustellen, ob das aktuelle Zeichen am Anfang der Substring steht, wird selbst ein Teil der Zeichenkette in einer Schleife durchlaufen.


Definiere Ersetze (substring) durch (ersetzung) in (string)
setze [ergebnis v] auf ()
setze [index v] auf (1) // Zähler
wiederhole (Länge von (string)) mal 
  setze [index2 v] auf (0) // ein weiterer Zähler
  wiederhole bis <<(index2) = (Länge von (substring))> oder <nicht <(Zeichen ((index) + (index2)) von (string)) = (Zeichen ((index2) + (1)) von (substring))>>>
    ändere [index2 v] um (1)
  end
  falls <(index2) = (Länge von (substring))> , dann 
    ändere [index v] um (Länge von (substring)) // überspringe ersetzte Zeichenfolge
    setze [ergebnis v] auf (verbinde (ergebnis) und (ersetzung))
  sonst 
    setze [ergebnis v] auf (verbinde (ergebnis) und (Zeichen (index) von (string)))
    ändere [index v] um (1)
  end
end

Demo

Ersetzen einer Teilzeichenkette in einer Zeichenkette


Schau' dir dieses Projekt auf der Scratch-Webseite an...



Code zum Einbinden ins Forum:
[wiki=de:Ersetzen einer Teilzeichenkette in einer Zeichenkette]Ersetzen einer Teilzeichenkette in einer Zeichenkette[/wiki]
Cookies helfen uns bei der Bereitstellung von Das deutschsprachige Scratch-Wiki. Durch die Nutzung von Das deutschsprachige Scratch-Wiki erklärst du dich damit einverstanden, dass wir Cookies speichern.