Richtextbox Enter an richtiger Stelle setzen

  • VB.NET

Es gibt 6 Antworten in diesem Thema. Der letzte Beitrag () ist von himschte.

    Richtextbox Enter an richtiger Stelle setzen

    Hallo Allerseits,

    habe ein Problem an dem ich nicht weiterkomme.
    Ich habe eine Textdatei welche total unsauber formatiert ist. Eigentlich sollte alles sauber mit Semikolon getrennt sein und somit in Excel Spaltenweise geöffnet werden können. Leider sind hier zwischen den Semikolons "unkoordinierte Enter" Einträge. Lade bisher die Textdatei in eine RichTextBox und entferne alle Enter Einträge. Möchte ich jetzt diese als csv speichern ist dies zwar kein Problem aber alles steht ja in einer Zeile da es kein Enter gibt. Hiermit ist ein öffnen in Excel wegen zu vieler Spalten nicht möglich.
    Die Semikolon sitzen nach jedem relevanten Eintrag und hatte folgendes Gedankenspiel aber keine Ahnung wie umzusetzen ;(

    Die RichTextBox auslesen und nach jedem 6 Semikolon soll ein Enter eingetragen werden. Anschließend als csv-Datei speichern und somit hätte ich einen sauberen Tabellarischen Aufbau.

    Hoffe man versteht was ich möchte ?

    Gruß und vorab Danke für Tipps
    Sven

    Sieht bisher so aus:
    KundenNr;Art;Beschreibung;AnlageDatum;AnlageZeit;AenderungsDatum;AenderungsZeit ;7909;Färben;7/7+0/43+8/0 18g+2g+20g+ 6% 40g;2014-12-31;09:38:28;0000-00-00;00:00:00; 7909;Färben;Ansatz Koleston Innosense 7/7 28g+0/43 2g+ 8/34 10g Längen CF 7/74 30 Min m.W.;2014-12-31;09:38:28;0000-00-00;00:00:00;

    So der Plan:
    KundenNr;Art;Beschreibung;AnlageDatum;AnlageZeit;AenderungsDatum;AenderungsZeit ;(Enter)7909;Färben;7/7+0/43+8/0 18g+2g+20g+ 6% 40g;2014-12-31;09:38:28;0000-00-00;00:00:00; (Enter)7909;Färben;Ansatz Koleston Innosense 7/7 28g+0/43 2g+ 8/34 10g Längen CF 7/74 30 Min m.W.;2014-12-31;09:38:28;0000-00-00;00:00:00;
    @himschte Willkommen im Forum. :thumbup:
    Probier mal dies:
    Ersetze die Semilolönner durch einen Tabulator vbTab, benenne die Datei in *.xls und doppelklicke darauf im Explorer.
    Beantworte die Exxcel-Frage mit "Ja" und sieh an, was angezeigt wird.
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    Hallo RodFromGermany,

    DANKE SCHÖN fürs Willkommen und meinen ersten Tipp :)

    Positiv = es geht zu öffnen
    aber trotzdem steht verdammt viel in einer Zeile ohne ersichtliche Trennung.
    Auszug:
    KundenNrArtBeschreibungAnlageDatumAnlageZeitAenderungsDatumAenderungsZeit7909Färben7/7+0/43+8/018g+2g+20g+6% 40g2014-12-3109:38:280000-00-0000:00:00 7909

    Hier vielleicht als neuer Ansatz wie es in der Original Datei aussieht, welche bearbeitet werden muss. Ist ja eine txt-Datei.

    Auszug Original:
    KundenNr;Art;Beschreibung;AnlageDatum;AnlageZeit;AenderungsDatum;AenderungsZeit
    ;7909;Färben;7/7+0/43+8/0
    18g+2g+20g+
    6% 40g;2014-12-31;09:38:28;0000-00-00;00:00:00;
    7909;Färben;Ansatz
    Koleston Innosense
    7/7 28g+0/43 2g+ 8/34 10g
    Längen
    CF
    7/74
    30 Min m.W.;2014-12-31;09:38:28;0000-00-00;00:00:00;
    7909;Tönung;CT
    8/43 + 1,9%
    20 Minuten mit Wärme
    ;2014-12-31;09:38:28;0000-00-00;00:00:00;
    7910;Tönen;CT
    5/3 + 7/3 + 40ml4%
    10ml+10ml;2014-12-31;09:38:28;0000-00-00;00:00:00;
    7910;Färben; 6/0+6/7
    13ml+23ml+40ml6%;2014-12-31;09:38:28;0000-00-00;00:00:00;
    7910;Strähnen; 15 ml Blodierung
    +30ml 12%;2014-12-31;09:38:28;0000-00-00;00:00:00;
    7910;Strähnen;Haube
    blondie+9%
    20+40ml
    20Min

    Auszug so sollte es ein
    KundenNr;Art;Beschreibung;AnlageDatum;AnlageZeit;AenderungsDatum;AenderungsZeit;
    7909;Färben;7/7+0/43+8/0 18g+2g+20g+ 6% 40g;2014-12-31;09:38:28;0000-00-00;00:00:00;
    7909;Färben;Ansatz Koleston Innosense7/7 28g+0/43 2g+ 8/34 10g Längen CF 7/74 30 Min m.W.;2014-12-31;09:38:28;0000-00-00;00:00:00;
    7909;Tönung;CT8/43 + 1,9% 20 Minuten mit Wärme;2014-12-31;09:38:28;0000-00-00;00:00:00;
    7910;Tönen;CT 5/3 + 7/3 + 40ml4% 10ml+10ml;2014-12-31;09:38:28;0000-00-00;00:00:00;
    7910;Färben; 6/0+6/713ml+23ml+40ml6%;2014-12-31;09:38:28;0000-00-00;00:00:00;
    7910;Strähnen; 15 ml Blodierung+30ml 12%;2014-12-31;09:38:28;0000-00-00;00:00:00;
    7910;Strähnen;Haubeblondie+9% 20+40ml 20Min......
    @himschte OK.
    Ist das eine einmalige Angelegenheit
    oder
    Du musst das wie oft tun?
    Hinten Datum und Uhrzeit am Zeilenende sollten leicht zu identifizieren sein, so dass Du recht einfach einen Automaten bauen kannst.
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    @RodFromGermany AHA

    Nein dies definitiv keine Einmalige Angelegenheit. Wird definitiv öfters Vorkommen.
    Auch wenn es etwas mehr Aufwand ist, lohnt sich die Arbeit !

    Ist nur die Frage was ist wenn am Ende nicht 00:00:00; steht, sondern eine tatsächliche Uhrzeit 12:15:13; ?

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „himschte“ ()

    @himschte Dann übergebe ich hier an die RegEx-Experten, die ganz gewiss ein geeignetes Pattern zum Finden von Datum und Uhrzeit bereit haben. ;)
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!