CSV oder Txt datei mit Split() Methode bearbeiten



  • so ich zeig euch erstmal mein code ^^

    public void DateiLesen(string sourcePath1, string sourcePath2)
            {
    
                 StreamReader sr = new StreamReader(sourcePath1);
                 StreamWriter sw = new StreamWriter(sourcePath2);
    
                        Char seperator = ';';
                        string strLine;
                        string[] strArray;
    
                        while (sr.Peek() > 0)
                        {
    
                            strLine = sr.ReadLine();                
                            strArray = strLine.Split(seperator);
                            Console.WriteLine(strArray);
    
                        }
    
                    Console.ReadKey();
    }
    

    ich möchte gerne ne txt datei mit dem inhalt ( zeichen1;zeichen2;zeichen3;) aufer console ausgeben aber ohne die ';' ich bekomme es nicht gebacken 😞
    was mach ich nur falsch
    pls help



  • private static void ReadFile(string path)
    {
      using(StreamReader reader = new StreamReader(path))
      {
        string line;
        while((line = reader.ReadLine()) != null)
          foreach(string part in line.Split(new string[] { ";" }, StringSplitOptions.RemoveEmptyEntries))
            Console.WriteLine(part);
      }
    }
    


  • danke für die hilfe

    aber wie find ich raus wieviele elmente ein array hat ?



  • SO hab mir da irgend wie selber geholfen hier für alle die genau das selbe prob haben

    while ((line = sr.ReadLine()) != null)
                     {
                        strArray = line.Split(seperator);
                        int a = strArray.Length;
    
                        for (int i = 0; i <= a-1; i++)
                        {
    
                            sw.WriteLine(strArray[i]);
    
                        }
                        Console.WriteLine(strArray[1]);// Ausgabe zum testen
    }
    


  • Hier nur ein Tipp wie es auch gehen könnte:

    while ((line = sr.ReadLine()) != null)
    {
        strArray = line.Split(seperator);
    
        for (int i = 0; i < strArray.Length; i++)// du brauchst keine extra Variable
        {
            sw.WriteLine(strArray[i]);
        }
        Console.WriteLine(strArray[1]);// Ausgabe zum testen
    }
    

    Oder:

    while ((line = sr.ReadLine()) != null)
    {
        strArray = line.Split(seperator);
    
        foreach (string token in strArray)// foreach rennt über alle Elemente in strArray, egal wie groß das Array od. die Liste ist.
        {
            sw.WriteLine(token);
        }
    }
    

Log in to reply