Announcement

Collapse
No announcement yet.

String bis bestimme Zeichen Spliten und einzelne Strings zuweisen

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • String bis bestimme Zeichen Spliten und einzelne Strings zuweisen

    Hallo,

    Ich habe einen String, den ich splitten möchte und anderen Strings zuweisen. Am besten geht das warscheinlich mit einem String Array. Da Ich mich leider auf diesem Gebiet noch nicht so sehr auskenne brauche ich eure Hilfe

    Ich habe bisher folgenden Code geschrieben:

    Code:
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    
    namespace Christian_KA_Aufgabe_2
    {
        class Program
        {
            static void Main(string[] args)
            {
                string sTest = "1-10-11 1-10-11";
                string sTest2;
                string sCode;
                string[] sArray;
    
                for (int i = 0; i < sTest.Length; i++)
                {
                    sArray = sTest.Split(new Char[] { '-' });
                    Console.WriteLine(sArray[i]);
                }
            }
        }
    }

    Ich glaube das der weg schonmal der richtige ist. Hoffe ich zumindest. Doch iwie komme ich nicht richtig weiter.

    Fals jmd noch Links für Tutorials oder ähnliches hat einfach Posten.

    Danke schonmal

  • #2
    Bitte Stelle eine etwas konkretere Frage dann kann man eher helfen. Ein Forum ist für allgemeine Bildungslücken(nicht negativ gemeint) eher ungeeignet. Dein Problem ist so allgemeiner Natur das ich dir nicht mal raten kann was du nachlesen solltest.

    Eins aber - deine For-Schleife - du iterierst über die Länge deines strings also so ca. 15 Zeichen um dann damit an dein Array mit dem gesplitteten String zu gehen. Du hast den string nicht in 15 Teile zerlegt, denn nur dann könnte das funktionieren so bekommst du jetzt wahrscheinlich eine IndexOutOfBoundsException(oder wie die auch imemr heißt). Du möchtest die Teile aus deinem gesplitteten string Array ausgeben dann solltest du auch über die Länge des Array iterieren und nicht über die Länge des Ursprungsstrings.

    Also eher so

    [Highlight=C#]sArray = sTest.Split(new char[] { '-', ' '});
    for (int i = 0; i < sArray.Length; i++)
    {
    Console.WriteLine(sArray[i]);
    }
    [/Highlight]

    Ich habe im Beispiel noch zusätzlich nach Leerzeichen gesplittet weil ich mir nicht vorstellen kann das du der Mittelteil in deinem String (also der '11 1'-Teil) zusammengehört.

    Comment


    • #3
      Danke Rafl für deine Antwort,

      genau das ist mir hinterher auch aufgefallen als ich es nochmal durch gelesen hatte. Tut mir echt leid.

      Ich habe es mittlerweile hinbekommen nur ohne Array halt.

      Code:
      foreach (char c in sText)
      {
            ...
      }
      Mal schauen ob ich es dan so wie du es geschrieben hast umsetze, da das doch sicher der besser Weg ist.

      Aber trozdem danke dass du auch bei dieser verwirrenden Fragestellung mir die richtige Antwort presentieren konntest

      Gruß GstaGsta

      Comment


      • #4
        Du gehst jetzt aber einfach nur jeden Character durch anstatt den String irgendwie zu splitten. In Deinem Fall müsstest Du das Splitten manuell machen. Warum nicht die fertig Methode benutzen? Gerade die String Methoden sind so flexibel, dass man eigentlich fast nichts manuell machen muss. Ausserdem gibts dann auch noch Regular Expressions.

        Comment

        Working...
        X