nuitshuheru
Goto Top

Zeilenumbrüche in Text-Dateien einfügen ?

Hallo,

ich bin leider mit meine Batch- und VB-Kenntnissen an mein bescheidenes Limit gestoßen.

Ich kann zwar per Batch oder VBA nach Zeichenketten in einer Datei suchen und diese durch andere Zeichenketten ersetzen, hab aber leider keine Idee wie man diese durch einen Zeilenumbruch ersetzen könnte.

Bsp.:

aus:

TEXT1</>TEXT2</>TEXT3

soll werden:

TEXT1
TEXT2
TEXT3

Dabei ist sicher gestellt, dass die Zeichenfolge "</>" immer identisch ist und nicht innerhalb eines der Texte auftaucht. Eine einfache Funktion: Suche alle "</>" und ersetze sie durch einen Zeilenumbruch würde also völlig ausreichen.

Hat irgend wer eine schnelle schlaue Idee ?

Vielen Dank schonmal im Vorraus.
Nuit

Content-Key: 181139

Url: https://administrator.de/contentid/181139

Printed on: April 18, 2024 at 17:04 o'clock

Member: icsat
icsat Feb 27, 2012 at 20:54:29 (UTC)
Goto Top
Hallo NuitShuHeru,

hier eine Möglichkeit in VB:
set fso = CreateObject("Scripting.FileSystemObject")  

strSearch = "</>"  

strInputFileName = "eingabe.txt"  
strOutputFileName = "ausgabe.txt"  

set fInput = fso.OpenTextFile(strInputFileName, 1)
set fOutput = fso.CreateTextFile(strOutputFileName, True, False)

Do While fInput.AtEndOfStream <> True
   strInputLine = fInput.ReadLine
   fOutput.WriteLine Replace(strInputLine, strSearch, vbCrLf)
Loop

fOutput.Close
fInput.Close

set fInput = nothing
set fOutput = nothing
set fso = nothing


Gruß icsAT
Member: TsukiSan
TsukiSan Feb 28, 2012 at 05:12:13 (UTC)
Goto Top
oder bastla würde es sicher wieder vereinfachen:

MeineDatei = "C:\MeineDatei.txt"  
Set fso=CreateObject("Scripting.FileSystemObject")  
txt=split(fso.OpenTextFile(MeineDatei).ReadAll,"</>"):fso.CreateTextFile (MeineDatei & ".neu.txt").Write (Join(txt,vbcrlf))  

Gruss
Tsuki
Member: NuitShuHeru
NuitShuHeru Feb 28, 2012 at 09:12:18 (UTC)
Goto Top
Leute ihr seid die Besten !

Beide Versionen funzen super.

Vielen Dank

Nuit
Mitglied: 76109
76109 Feb 28, 2012 at 09:20:17 (UTC)
Goto Top
Hallo Tsuki!

....oder bastla würde es sicher wieder vereinfachen:
Eventuell auch so face-smile
AlteDatei = "C:\Test\AlteDatei.txt"  
NeueDatei = "C:\Test\NeueDatei.txt"  

Set Fso = CreateObject("Scripting.FileSystemObject")  

Fso.CreateTextFile(NeueDatei).Write Replace(Fso.OpenTextFile(AlteDatei).ReadAll, "</>", vbCrLf)  

Gruß Dieter
Member: TsukiSan
TsukiSan Feb 28, 2012 at 12:10:18 (UTC)
Goto Top
Hallo Dieter,

mir war heute mal so - ein Replace in Form von Split'n'Join .
Ich hatte ehr Deine Anmerkung vom TO erwartet, um rauszufinden, ob er sich die paar Zeilen - die wir alle
hier hingezaubert haben - auch mal näher anschaut und hinterfragt.
Leider nicht! Sondern wir haben die fertigen Lösungen auf dem Silbertablett serviert.

Naja, der Lenz kommt bald face-wink

Gruss
Tsuki
Mitglied: 76109
76109 Feb 28, 2012 at 23:16:36 (UTC)
Goto Top
Hallo Tsuki!

mir war heute mal so - ein Replace in Form von Split'n'Join .
Und ich dachte, es liegt an der Uhrzeitface-smile

Naja, der Lenz kommt bald
Gottseidankface-wink

Gruß Dieter