none
String Split für eine bestimmte Anzahl von Char-Vorkommen RRS feed

  • Frage

  • Hallo,

    ich bin beim erweitern von einem Programm auf ein Problem gestoßen und hoffe

    dass es einen Weg gibt, mit nur einer kleinen Änderung selbiges zu beheben.

    Zugegeben es ist etwas statisch programmiert und zwar sieht es bis jetzt so aus:

     string[] spalten = zeile.Split('|');
                         
        {
         liste.Add(new TextDaten()
          {
           Datum = DateTime.Parse(spalten[0]),
           Ort = spalten[1].Trim(),
           Zusatz = spalten[2].Trim(),
           Aktion = spalten[3].Trim()
                                });
                            }

    Ausgehend von mehreren Textzeilen die wie folgende aussehen:

    2012-12-13 23:11:41.070 | Ort           | Zusatz     | Aktion

    Ich gehe danach her und überprüfe "Aktion" mit Hilfe von Linq auf Inhalt gewisser Zeichenketten.

    Und so kam es wie es kommen musste, in einigen Fällen enthält der Text von "Aktion" ebenfalls das Split-Zeichen "|" womit nur ein Teil von Aktion durchsucht wird.

    Dazu also jetzt meine Frage:

    Kann ich dem Split-Operator auch sagen, "Teile bei den ersten 3 Vorkommen von '|' " ?

    Freitag, 14. Dezember 2012 14:50

Antworten

  • Hallo,

    setze einfach die Maximale Länge des zurückzugebenden Arrays auf 4:

                string zeile = "Datum|Ort|Zusatz|Aktion|sfortsetzung...";
                string[] spalten = zeile.Split(new char[] { '|' }, 4);


    Koopakiller [kuːpakɪllɐ] http://koopakiller.ko.ohost.de/

    • Als Antwort markiert Wallertown Freitag, 14. Dezember 2012 15:19
    Freitag, 14. Dezember 2012 15:08
    Moderator

Alle Antworten

  • Hallo,

    setze einfach die Maximale Länge des zurückzugebenden Arrays auf 4:

                string zeile = "Datum|Ort|Zusatz|Aktion|sfortsetzung...";
                string[] spalten = zeile.Split(new char[] { '|' }, 4);


    Koopakiller [kuːpakɪllɐ] http://koopakiller.ko.ohost.de/

    • Als Antwort markiert Wallertown Freitag, 14. Dezember 2012 15:19
    Freitag, 14. Dezember 2012 15:08
    Moderator
  • Klasse, vielen Dank für die schnelle Antwort
    Freitag, 14. Dezember 2012 15:20