Wie kann ich eine Zeichenkette in einem String suchen und ersetzen?

1 Antwort

Du darfst nur dann ersetzen, wenn du beide Suchbuchstaben gefunden hast.

D.h. du suchst in der Schleife nach dem ersten Suchbuchstaben und wenn die nächste Stelle dem zweiten Suchbuchstaben entspricht, nimmst du die Ersetzung beider Buchstaben mit den beiden Ersatzbuchstaben vor.

Und: nenne deine Variablen nicht suchenundersetzen1, suchenundersetzen2, suchenundersetzen3, suchenundersetzen4. Dann kannst du sie auch z1, z2, z3, z4 nennen. Das ist genauso nichtssagend, aber wenigstens kurz. Vielleicht such1 such2 und ersatz1 ersatz2

Und: Codebeispiele entweder als Quelltext (Symbol </> hier im Editor) formatieren oder z.B. bei pastebin.com einstellen ud den Link hier posten.


user828211293 
Beitragsersteller
 10.11.2021, 17:22

Also brauche ich nur eine for Schleife?

Schachpapa  10.11.2021, 17:48
@user828211293

So isses. Du lässt einen Index i von der ersten bis zur zweitletzten Stelle laufen. Im Schleifenrumpf steht:

if (ein[i] == such1 && ein[i+1] == such2) {
   ein[i] = ersatz1;
   ein[i+1] = ersatz2;
}
user828211293 
Beitragsersteller
 10.11.2021, 18:06
@Schachpapa

Vielen Dank für deine Hilfe es scheint jetzt zu klappen, jedoch bekomme ich am Ende immer noch eine "53" an den String angehängt.

Weist du vielleicht woran das liegen könnte?

Schachpapa  10.11.2021, 18:35
@user828211293

Weiß ich nicht, ich kenne ja deinen Code nicht. Wenn die Bedingung und Ersetzung in der Schleife stehen, kann das eigentlich nicht vorkommen.