Announcement

Collapse
No announcement yet.

Datei Parsen

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

  • Datei Parsen

    Hallo Eine Frage,

    Ich habe eine txt Datei, da steht zum Beispiel folgendes drin.

    Adfdklfjaflfjakdsfasjd1^2421321324w99w23n:Hans Meier:ndksafjsle:[email protected]:eldsakfjsalkusw...

    Ich möchte den Namen zwischen n: <name> :n heraus holen und die Email zwischen e: <email> :e usw.

    Wie macht man das am einfachsten. Ich habe Regex entdeckt, sehe aber noch nicht, wie ich das damit machen kann.

    danke schon mal

  • #2
    Hi mgiaco,

    da die Positionen der Felder in der Datei wohl nicht variieren werden würde ich mir an deiner Stelle die string.Split() Funktion anschauen. Diese liefert dir ein array zurück. Beim Split gibst du den Doppelpunkt an, daraufhin hast du in deinem Array die komplette Zeile. Danach kannst du eigentlich zwei Dinge probieren.

    1. Gehst du das Array durch und du weisst eh an welchen Positionen (werden sich ja wahrscheinlich nicht ändern von Zeile zu Zeile) und kannst dir die entsprechenden Werte ausgeben lassen.

    2. Gehst du das Array durch und schaust für jeden Eintrag mit regex nach ob es das Feld ist was du suchst. Ehrlich gesagt stell ich mir das beim Namen gerade recht schwierig vor, wenn nicht sogar unmöglich auf diese Weise.

    Das ist grad so das was mir auf die schnelle einfällt.
    Gruß
    Sebastian

    Comment


    • #3
      Hallo.
      Ich habe Regex entdeckt
      Mit
      Code:
      Imports System.Text.RegularExpressions
      geht es los. Danach kann man auf die Treffer zwischen :e, e: und :n, n: prüfen.

      Gruss
      MfG
      Cheat-Sheets for Developers / Programming Quotes

      Comment


      • #4
        Noch ein Nachtrag: http://www.mycsharp.de/wbb2/thread.php?threadid=41009
        MfG
        Cheat-Sheets for Developers / Programming Quotes

        Comment


        • #5
          ehm, der post war mist. also meiner jetzt, sry ^^
          Gruß
          Sebastian

          Comment


          • #6
            Regex ist in jedem Fall der richtige Ansatz.
            Den Ausdruck musst Du dann so aufbauen, dass Du den Anfang und das ende
            fest vorgibst und in der Mitte irgendetwas stehen kann.

            Wie der Ausdrcuk genau aussieht bedarf einer auseinandersetzung mit Regular Expressions.
            Viellicht hilft dir der folgende Link weiter. Ich finde da fast immer was ich brauche.
            http://regexlib.com
            Gruss

            Mirko

            Mappen statt hacken mit dem .NET O/R Mapper Invist

            Comment

            Working...
            X