Entwickler-Ecke

Dateizugriff - Teile aus Textdatei löschen


Nano-Ware - Di 01.03.11 17:04
Titel: Teile aus Textdatei löschen
hey,

ich hab ne Textdatei mit ca. 100.000 Zeilen. Die Textdatei ist so aufgebaut:

Wort/xxx
anderesWort/xxx
...

Alle Worte haben eine variable länge und für xxx kann auch jedes beliebige Wort stehen. Jetzt würde ich gern alles nach "/" löschen und das "/" mitlöschen. Ich hab schon was mit PosEx gehört aber ich hab garkeinen Ansatz..

danke


jaenicke - Di 01.03.11 17:12

PosEx brauchst du (wie du ja sicher in der Hilfe gelesen hast), wenn du das selbe Zeichen mehrfach suchen willst. Das ist hier aber nicht der Fall.

Hier kannst du einfach zeilenweise durchgehen und alles aus jeder Zeile von 1 bis Pos('/', ...) - 1 kopieren und in die Zieldatei schreiben.

Zum schnellen Auslesen der Datei:
http://www.delphi-forum.de/viewtopic.php?p=607865#607865


Nano-Ware - Di 01.03.11 17:23

Woher weiß ich aber wie viel ich weglöschen muss? Weil "xxx" kann sehr lange sein. Dann kommt ein Zeilenumbruch und dann ist das erst fertig.


jaenicke - Di 01.03.11 17:26

Du musst ja nichts löschen. Du kannst in einer Datei ohnehin nicht so einfach direkt löschen. Es reicht doch, wenn du eine zweite Datei mit dem verbleibenden ersten Teil der Zeilen schreibst. (Die alte kannst du danach ja durch diese Datei ersetzen.)


Bergmann89 - Di 01.03.11 18:20

Hey,

lad die Textdatei in einer TStringList (LoadFromFile). Dann gehst du mit einer Schleife alle Items der Liste durch (jedes Item sollte eine Zeile deiner Textdatei sein). Den String kurz in einer Variable zwischenspeichern, das / suchen und alles danach mit delete löschen. Dann den String wieder in die Liste packen, die Liste speichern, fertig ;)

MfG Bergmann.