string funktionen



  • Hallo

    string str = Console.ReadLine();
    Console.WriteLine(str);
    

    Lese hier mal die Benutzereingaben ein.
    Nu will ich aber, dass jedes "a" in dem eingelesen string als "b" ausgegeben wird. Wie mach ich dat?

    Danke für eure Hilfe
    MfG



  • Wie wäre es, wenn Du Dir in der Hilfe mal die Member der String Klasse ankuckst. Da gibts dann beim Durchlesen derselben auch eine Methode, die dem entspricht, was Du tun willst.

    Ist es wirklich einfacher & schneller, so eine unnötige Frage zu posten als schnell in die Hilfe zu kucken? Ich verstehe das nicht wirklich....

    Noch einfacher kann man's übrigens gar nicht haben: Cursor auf das Wort "string" setzen und <F1> drücken. Und dann ein, zwei Klicks und ein bissel Lesen...



  • das geht bei mir nicht!!!
    Kann mir wer helfen, außer dumme antworten zu geben?



  • Schaut 🙂

    private void richTextBox2_TextChanged(object sender, System.EventArgs e)
    		{
    			string lese = ein.Text;
    			string fertig = "Keine Verschlüsselung";
    
    			fertig = lese;
    			lese = fertig.Replace("a", "&8");
    			lese = fertig.Replace("b", "A");
    			lese = fertig.Replace("c", "!!!");
    			lese = fertig.Replace("d", "^^");
    			lese = fertig.Replace("e", "2");
    			lese = fertig.Replace("f", "3l");
    			lese = fertig.Replace("g", "_");
    			lese = fertig.Replace("h", "-");
    			lese = fertig.Replace("i", "?");
    			lese = fertig.Replace("j", ".");
    			lese = fertig.Replace("k", ":");
    			lese = fertig.Replace("l", "öö");
    			lese = fertig.Replace("m", "px");
    			lese = fertig.Replace("n", "Oo");
    			lese = fertig.Replace("o", "!_!");
    			lese = fertig.Replace("p", "p");
    			lese = fertig.Replace("q", "www");
    			lese = fertig.Replace("r", "@");
    			lese = fertig.Replace("s", "B");
    			lese = fertig.Replace("t", "%");
    
    			lese = fertig.Replace("u", "/");
    			lese = fertig.Replace("v", "(");
    			lese = fertig.Replace("w", ")");
    			lese = fertig.Replace("x", "1");
    			lese = fertig.Replace("y", "4");
    			lese = fertig.Replace("z", "9");
    
    			ver.Text = lese;
    		}
    

    ABer Irgendwie wird nun nur das z verändert 😞
    Warum die anderen nicht auch?

    Brauche Hilfe 😕 😕 😕



  • Hint:
    Schon mal was von "immutable strings" gehört? 🙂



  • Gast 973 schrieb:

    Hint:
    Schon mal was von "immutable strings" gehört? 🙂

    Nein! 😉
    Kannst du mir erklären was ich anderst coden muss?

    MFG



  • ist
    lese = lese.Replace("a", "&8");
    besser?



  • Leider Nein 😞
    Geht immer noch nicht, was kann sonst noch falsc hsein?

    MFG



  • Strings können nicht verändert werden. D.h. wenn du string.Replace() anwendest, wird zwar eine veränderte Kopie zurückgegeben, aber das eigentliche Objekt ist noch das ursprüngliche.
    In deinem Code überschreibst du also bei jeder Anweisung den String in "lese" mit einem anderen geänderten Kopie des Originalobjekts "fertig", sodass effektiv nur diese Anweisung ausgeführt wird:
    lese = fertig.Replace("z", "9");



  • neinmod: Ich glaub, du hast volkard falsch verstanden. Du sollst natürlich konsequent fertig durch lese ersetzen.


Anmelden zum Antworten