Strings und StringBuilder

Hier finden Sie Beispiele zum Umgang mit Strings:

strings in C# 

 

 

/* Strings und StringBuilder */
namespace ConsoleApplication_Strings
{
    class Program
    {
        static void Main(string[] args)
        {
            /* Ausgabe von Hallo! */
            string s = "Hallo!";
            Console.WriteLine(s);   

            /* Einen String mit einem Konstruktor erzeugen. Übergabeparameter ist ein Zeichen und die Wiederholung */
            string x = new String('_', 30); // Ein _ wird 30 mal erzeugt
            Console.WriteLine(x);

            /* Gibt die Länge des Strings x aus */
            Console.WriteLine(x.Length); 

            /* Groß- und Kleinschreibung */
            string y = "Hallo Welt!";
            Console.WriteLine("alles klein schreiben: " + y.ToLower()); // Schreibt den String y in Kleinbuchstaben
            Console.WriteLine("ALLES GROß SCHREIBEN: " + y.ToUpper()); // Schreibt den String y Großbuchstaben

            /* StartsWith prüft die Übereinstimmung des 1. Zeichens eines Strings */
            string s1 = "Hallo Welt!";
            bool anfang = s1.StartsWith("H"); // Ergibt true, wenn das 1. Zeichen ein H ist
            bool ende = s1.EndsWith("t"); // Ergibt true, wenn das letzte Zeichen ein ! ist
            Console.WriteLine(anfang);
            Console.WriteLine(ende);

            /* Strings vergleichen. Prüft ob String a == String b */
            string a = "Hallo Welt!";
            string b = "Hallo Welt!";
            bool vergleich = a.Equals(b); // Vergleicht den String a mit String b
            Console.WriteLine(vergleich);

            /* Strings alternativ mit == vergleichen */
            bool vergleich2 = a == b; // Vergleicht den String a mit String b
            Console.WriteLine(vergleich2);

            /* Mit IndexOf die Position eines Zeichens in einem String bestimmen */
            int i = a.IndexOf('l'); // Gibt die Indexposition von links zurück, wo das Zeichen l das erste Mal vorkommt
            Console.WriteLine("Indexposition von links: "+i);

            int j = a.LastIndexOf('l'); // Gibt die Indexposition von rechts zurück, wo das Zeichen l das erste Mal vorkommt
            Console.WriteLine("Indexposition von rechts: "+j);

            /* Split teilt einen String anhand eines bestimmten Zeichens auf */
            string xy = "a;b;c;d";
            Console.WriteLine("Der String " + xy + " hat vor dem Split eine Länge von " + xy.Length + " Zeichen");
            string[] array = xy.Split(';'); // Teilt den String xy mit dem Semikolon ; auf. Der Rückgabewert ist ein Array vom Typ String
            Console.WriteLine("Nach dem Split: "+ array[0] + array[1] + array[2] + array[3] + " mit einer Länge von "+ array.Length +" Zeichen"); // Ausgabe des Arrays an der Stelle 0 bis 3

            /* Anwenden der Methode Join, damit aus einem Array wieder ein String wird */
            Console.WriteLine("Die Methode join wandelt ein Array in einen String um: " + string.Join(":", array));

            /* Mit der Methode "Replace" kann ein String dynamisch ausgetauscht werden */
            string z = xy.Replace(";", "-"); // Tauscht das ; mit - aus
            Console.WriteLine("replace: " + z);

            /* Mit Substring Teile eines Strings zurückgeben lassen */
            string s3 = "Diplomarbeit";
            Console.WriteLine("substring: " + s3.Substring(0, 6)); // Gibt die Zeichen von 0 bis 6 aus dem String s3 zurück

            /* Padding füllt einen String mit Zeichen auf */
            string s4 = "12345";
            Console.WriteLine("Auffüllen von links: "+ s4.PadLeft(10, '.'));    // Auffüllen auf 10 Zeichen mit einem . von links
            Console.WriteLine("Auffüllen von rechts: " + s4.PadRight(10, '.')); // Auffüllen auf 10 Zeichen mit einem . von rechts

            /* Die Methode Trim entfernt Leerzeichen am Anfang und Ende eines Strings */
            string s5 = " 12345   ";
            string s6 = "678";
            Console.WriteLine(s5.Trim() + s6);

            /* Strings zusammenführen (verketten) */
            string s7 = "Hallo" + " " + "erstmal!";
            string s8 = s7 + " Einen schönen Tag!";
            Console.WriteLine(s7);
            Console.WriteLine(s8);

            /* Die Methode "String.Format()" */
            string m = "C#";
            string p = string.Format("Hallo {0}, {1} ist cool", "erstmal!", m);
            Console.WriteLine(p);

            /* Der Stringbuilder ist eine eigene Klasse mit eigenen Methoden */
            StringBuilder sb = new StringBuilder(); // Ein Stringbuilder muss zuerst instanziert werden

            string string1 = "Hallo ";
            string string2 = "erstmal!";
            string string3 = " guten Tag!";
            string string4 = new String('_', 25);

            sb.Append(string1);
            sb.Append(string2);
            sb.AppendLine(string3);  // carriage return + linefeed
            sb.AppendLine(string4);  // carriage return + linefeed
            Console.WriteLine(sb.ToString());

            /* Pfadangaben */
            string path = "c:\\test\\";  // Ein \ muss mit einem \\ angegeben werden (siehe Escape Sequenzen)
            Console.WriteLine(path);
            string path2 = @"c:\test\";  // Zweite Variante: Mit einem @ 
            Console.WriteLine(path2);

            Console.ReadLine();
        }
    }
}