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.
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!