Aus Das deutschsprachige Scratch-Wiki

Die Arbeit mit Strings kann aufgrund der begrenzten Möglichkeiten schwierig sein, aber es gibt fast immer Umgehungsmöglichkeiten. In einer Zeichenkette kann ein einzelnes Zeichen geändert werden. In diesem Tutorial wird das Konzept der Änderung eines Zeichens in ein anderes erklärt. Die folgenden Skripte sind Benutzerdefinierte Blöcke, mit denen man leichter arbeiten kann. Es gibt zwei grundlegende Methoden, um dies zu tun: die Variablen Methode und die Listen Methode.

Information icon.png Information: Die folgenden Skripte sollten ohne Bildschirmaktualisierung ausgeführt werden, die Sie im Bearbeitungsmenü des benutzerdefinierten Blocks finden, damit sie sofort generiert werden


Information icon.png Information: Für diese beiden Methoden muss in den benutzerdefinierten Block-Eingang (String) die Variable selbst gezogen werden, damit dies funktioniert, und nicht der Name, den man in die Variable eintippt, denn dann wird der Name selbst als String gerendert und nicht die Zeichen der Variablen


Programmierung

Variablen Methode

Man braucht folgende Variablen:

  • (wechsler) ist die Variable, die für den Übergang des Zeichens zum gewünschten Zeichen verwendet wird
  • (zeichen#) ist die Variable, mit der die Zeichenkette durchlaufen wird
  • (ergebnis) ist die Variable, die das Ergebnis enthält

Definiere ändere Charakter (Charakternummer) von (string) zu (neuer Charakter) 
setze [wechsler v] auf []
setze [zeichen# v] auf (0) // Die Übertragung des Charakters beginnt am Anfang des Strings
wiederhole ((Charakternummer) - (1)) mal 
  ändere [zeichen# v] um (1) // Wechselt zum nächsten Zeichen
  setze [wechsler v] auf (verbinde (wechsler) und (Zeichen (zeichen#) von (string))) // Fügt das aktuelle Zeichen zu "Wechsler" hinzu
end // Wiederholt die Anzahl der Zeichen vor dem Zeichen, das geändert werden soll
setze [wechsler v] auf (verbinde (wechsler) und (neuer Charakter)) // Fügt das neue Zeichen hinzu, das das alte Zeichen ersetzt
setze [zeichen# v] auf (Charakternummer) // Setzt "zeichen#" auf das geänderte Zeichen
wiederhole ((Länge von (string)) - (Charakternummer)) mal 
  ändere [zeichen# v] um (1) // Moves on to the next character
  setze [wechsler v] auf (verbinde (wechsler) und (Zeichen (zeichen#) von (string))) // Fügt das aktuelle Zeichen zu "Wechsler" hinzu
end // Wiederholt die Anzahl der Zeichen nach dem geänderten Zeichen
setze [ergebnis v] auf (wechsler) // Speichert den neuen String in der Variable

ändere Charakter [3] von [Haalo Welt] zu [l] // So sieht der benutzerdefinierte Block aus

Listenmethode

Für diese Methode werden folgende Variablen und Listen benötigt:

  • (zeichen#) ist die Variable, mit der die Zeichenkette durchlaufen wird
  • (Zeichenliste:: list) ist die Liste, die jeden Buchstaben der Zeichenkette trennt und sie verändert
  • (ergebnis) ist die Variable, die das Ergebnis enthält

Definiere ändere Charakter (Charakternummer) von (string) zu (neuer Charakter) // "string" ist eine Parameter, die den ursprünglichen Text vor der Zeichenänderung darstellt.
lösche alles aus [Zeichenliste v]
setze [zeichen# v] auf (0) // Spaltet den String in seine Einzelteile
wiederhole (Länge von (string)) mal 
  ändere [zeichen# v] um (1)
  füge (Zeichen (zeichen#) von (string)) zu [Zeichenliste v] hinzu
end
ersetze Element (Charakternummer) von [Zeichenliste v] durch (neuer Charakter) // Ersetzt den Angegebenen Charakter mit dem neuen
setze [ergebnis v] auf (Zeichenliste) // Das Ergebnis wird in die "ergebnis" Variable eingefügt

ändere Charakter [3] von [Haalo Welt] zu [l] // So sieht der benutzerdefinierte Block aus

Demo


Das Projekt auf Scratch

Siehe auch


Code zum Einbinden ins Forum:
[wiki=de:Einen Charakter in einer Zeichenkette ersetzen]Einen Charakter in einer Zeichenkette ersetzen[/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.