Einzelnen Beitrag anzeigen

Reinhard Kern

Registriert seit: 22. Okt 2006
772 Beiträge
 
#2

Re: Bestimmten Teil aus einer Textdatei löschen

  Alt 1. Mär 2007, 15:10
Zitat von Bea:
Hallo,
Mir liegt eine Textdatei (Test.csa) vor, die auszugsweise so aussieht:
  • @@Kenneranfang@@@@FIELD:0,TAGAB@@@@FIELD:1,FTA120@ @@@FIELD:32,Liste der offenen Aufträge@@@@FIELD:64,25.09.00@@
    FKT/FTA120/05 Liste der offenen Auftr„ge DATUM: 25.09.00
    234/12 Mustermann GmbH SEITE: 1
    24159 Kiel
    -----------------------------------------------------------------------------------------------------------------------------------
    Firma Auftr. AN-Datum AN Termin Amtl.KZ FZ-Typ KDNR KG KD-Name PLZ Ort -AW- -ET-
    Fil. Status Anz Pos Pos
    -----------------------------------------------------------------------------------------------------------------------------------
    01 01 013068 06.09.00 MB 060900 WST-ND 971 300 SD/S 350 142683 Bernhard*Bruns 26160 Bad Zwischenahn
    ...
    ...
    ...
Nun möchte ich aus dieser Datei einen bestimmten Teil herausschneiden.
Es soll alles zwischen @@Kenneranfang und @@ herausgeschnitten werden(in temporären String merken).
In dem Rest der Datei kann aber auch @@ vorkommen und darf aber dort nicht verändert werden.
Deshalb muss man sich sicherlich an dem ersten Vorkommmen eines @@ nach dem letzten @@@@FIELD: orientieren oder so.
Der Rest der Datei soll unverändert als Test.pcl abgespeichert werden.

In diesem Beispiel also der Teil in temporären String:

@@Kenneranfang@@@@FIELD:0,TAGAB@@@@FIELD:1,FTA120@ @@@FIELD:32,Liste der offenen Aufträge@@@@FIELD:64,25.09.00@@

und der Rest als Datei Test.pcl:

FKT/FTA120/05 Liste der offenen Auftr„ge DATUM: 25.09.00
234/12 Mustermann
GmbH SEITE: 1
24159 Kiel
-----------------------------------------------------------------------------------------------------------------------------------
Firma Auftr. AN-Datum AN Termin Amtl.KZ FZ-Typ KDNR KG KD-Name PLZ Ort -AW- -ET-
Fil. Status Anz Pos Pos
-----------------------------------------------------------------------------------------------------------------------------------
01 01 013068 06.09.00 MB 060900 WST-ND 971 300 SD/S 350 142683 Bernhard*Bruns 26160 Bad Zwischenahn
...
...
...


Wie macht man so etwas?
Kann mir da jemand helfen?
Danke schon mal im Vorraus
CU Bea
Hallo Bea,

damit es sowohl möglichst allgemeingültig als auch zuverlässig funktioniert, würde ich eine Funktion schreiben, die das Muster @@Token....@@ aus Datei 1 entfernt und in Datei 2 schreibt. Diese Funktion kannst du dann einmal mit dem Parameter "Kenner" und einmal mit "FIELD" aufrufen (für das Token). Also ungefähr so:

Datei 1 lesen
@@ erkennen -> Token erkennen (ohne Abstand) -> Ausschneiden an ab @@ (einfach Pos merken)
weiterlesen
@@ erkennen -> Ausschneiden aus nach @@ -> auszuschneidenden Text in Datei 2 kopieren und in Datei 1 löschen
weiter so bis zum Ende von Datei 1

Gruss Reinhard
  Mit Zitat antworten Zitat