Einen Buchstaben mit einem anderen Überschreiben

PH234X

Mitglied
Hi

Ich möchte in meinem Text folgendes Unterbringen:

der Crypter soll zb alle a´s zu q´s machen und alle q´s zu as
Der code sieht dann so aus

Code:
Textbox1.Text = Textbox1.Text.Replace ("a","q")
Textbox1.Text = Textbox1.Text.Replace ("q","a")


Allerdings macht er die as zu qs und dann sofort wider zu a´s
Allerdings möchte ich nur zB bei Quark das dann da

Auqrk steht ^^ (Nurn beispiel)

Wie kriegt man das hin?
 
Zuletzt bearbeitet:
Da gibt es mehrere Lösungen, z.B. kannst du es so machen:
Code:
Dim sText as String = "LaLaLa"               'Die Variable sText ist der Text, in dem du ersetzen willst.

if sText.toLower.contains("a") then sText=sText.Replace("a","b") else sText=sText.Replace("b","a")


Oder meinst du es so:

Code:
Dim sText As String = "blablabla"

sText = sText.Replace("b", "IrgendeinWort").Replace("a", "b").Replace("IrgendeinWort", "a")    
'Für "IrgendeinWort" kannst du irgendeinen Ausdruck/Buchstabe/Wort benutzen,
'das auf keinen Fall in deinem Suchstring vorkommt, und kein a enthält.
 
Zuletzt bearbeitet:
Hi

Also entweder versteh ich dein Problem nicht oder du denkst zu kompliziert:
C#:
string s = "tutorials.de";
s = s.Replace('a', 'b');
Console.WriteLine(s);
s = s.Replace('a', 'b');
Console.WriteLine(s);
Ergebnis
Konsole hat gesagt.:
tutoribls.de
tutoribls.de
Der obige Code führt im Grunde das aus, was du machst. Wie du siehst bleibt das b ein b
 
okay ich hab das Problem gefunden
Es liegt an folgenden:

Ich möchte in meinem Text folgendes Unterbringen:

der Crypter soll zb alle a´s zu q´s machen und alle q´s zu as
Der code sieht dann so aus

Code:
Textbox1.Text = Textbox1.Text.Replace ("a","q")
Textbox1.Text = Textbox1.Text.Replace ("q","a")


Allerdings macht er die as zu qs und dann sofort wider zu a´s
Allerdings möchte ich nur zB bei Quark das dann da

Auqrk steht ^^ (Nurn beispiel)

Wie kriegt man das hin?
 
Das würde zum Beispiel über einen Umweg gehen:

Code:
Textbox1.Text = Textbox1.Text.Replace("a","@").Replace("q","a").Replace("@","q")

Zuerst den Buchstaben in irgendein Zeichen, das nicht verwendet wird umwandeln (am besten gleich eine Zeichenkette: %a%) und dann das zweite Replace und zu guter Letzt nochmal den Platzhalter durch das ersetzen das du von Anfang an wolltest.

Edit: Sehe gerade, das Masterclavat das bereits so gelöst hatte.
 
Zuletzt bearbeitet:
Zurück