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-ID: 181139

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

Ausgedruckt am: 22.11.2024 um 17:11 Uhr

icsat
icsat 27.02.2012 um 21:54:29 Uhr
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
TsukiSan
TsukiSan 28.02.2012 um 06:12:13 Uhr
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
NuitShuHeru
NuitShuHeru 28.02.2012 um 10:12:18 Uhr
Goto Top
Leute ihr seid die Besten !

Beide Versionen funzen super.

Vielen Dank

Nuit
76109
76109 28.02.2012 um 10:20:17 Uhr
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
TsukiSan
TsukiSan 28.02.2012 um 13:10:18 Uhr
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
76109
76109 29.02.2012 um 00:16:36 Uhr
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