Zeilenumbruch aus Textdatei löschen oder ersetzen mit VB-Sript
Hallo! Vermutlich ist mein Problem für erfahrene VBler eine Fingerübung ... aber ich bin absoluter Anfänger und verzweifle an diesem kleinen Problem!
Aus einer Textdatei (diese stammt aus einem Mailprogramm - kann einfach mit dem Windows Editor geöffnet werden) sollen bestimmte Zeichen aussortiert und ersetzt werden - das ist auch kein Problem für mich ... dafür habe ich mir ein VB-Script erstellt, das auch gut funktioniert! Allerdings muss auch ein Zeichen, das immer von einem Zeilenwechsel gefolgt wird ersetzt werden und zwar inklusive Zeilenumbruch! Das Zeichen zu entfernen ist kein Problem ... aber wie mach ich VB klar, dass auch der Zeilenumbruch nach diesem Zeichen entfernt werden soll? Versuche mit vbLf , vbCr, vbCrLf waren erfolglos - damit kann ich zwar einen Zeilenwechsel einfügen, aber nicht den Zeilenwechsel erkennen und ersetzen! Die Folgezeile soll einfach angehängt werden! Hier mein Beispiel:
Erst-irgendein-text-und-das-letzte-zeichen-dieser-zeile-soll-gelöscht-werden# (<- hier ist der böse Zeilenwechsel!!)
und-dies-soll-hinten-dran-in-die-obere-Zeile
Hat da jemand eine Lösung für mich?
Wie gesagt: das "#" zu löschen oder zu ersetzen ist kein Problem ... aber was muß ich zum Löschen des Leerzeichens im VB-Script eintragen ( /r/n war auch ein Versuch ... hat nicht funktioniert!)
Mein Versuch war folgendermassen:
FeldtrennerAlt = "#" & vbLf
FeldtrennerNeu = "Test"
Diese Zeilen haben im text gar nichts verändert!
Wenn ich "& vbLf" weglasse, ersetzt das Script das "#" durch das Wort "Test" ... der Zeilenwechsel bleibt aber bestehen
Ich bin für jeden Tip dankbar!!
Aus einer Textdatei (diese stammt aus einem Mailprogramm - kann einfach mit dem Windows Editor geöffnet werden) sollen bestimmte Zeichen aussortiert und ersetzt werden - das ist auch kein Problem für mich ... dafür habe ich mir ein VB-Script erstellt, das auch gut funktioniert! Allerdings muss auch ein Zeichen, das immer von einem Zeilenwechsel gefolgt wird ersetzt werden und zwar inklusive Zeilenumbruch! Das Zeichen zu entfernen ist kein Problem ... aber wie mach ich VB klar, dass auch der Zeilenumbruch nach diesem Zeichen entfernt werden soll? Versuche mit vbLf , vbCr, vbCrLf waren erfolglos - damit kann ich zwar einen Zeilenwechsel einfügen, aber nicht den Zeilenwechsel erkennen und ersetzen! Die Folgezeile soll einfach angehängt werden! Hier mein Beispiel:
Erst-irgendein-text-und-das-letzte-zeichen-dieser-zeile-soll-gelöscht-werden# (<- hier ist der böse Zeilenwechsel!!)
und-dies-soll-hinten-dran-in-die-obere-Zeile
Hat da jemand eine Lösung für mich?
Wie gesagt: das "#" zu löschen oder zu ersetzen ist kein Problem ... aber was muß ich zum Löschen des Leerzeichens im VB-Script eintragen ( /r/n war auch ein Versuch ... hat nicht funktioniert!)
Mein Versuch war folgendermassen:
FeldtrennerAlt = "#" & vbLf
FeldtrennerNeu = "Test"
Diese Zeilen haben im text gar nichts verändert!
Wenn ich "& vbLf" weglasse, ersetzt das Script das "#" durch das Wort "Test" ... der Zeilenwechsel bleibt aber bestehen
Ich bin für jeden Tip dankbar!!
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 119611
Url: https://administrator.de/forum/zeilenumbruch-aus-textdatei-loeschen-oder-ersetzen-mit-vb-sript-119611.html
Ausgedruckt am: 13.05.2025 um 09:05 Uhr
8 Kommentare
Neuester Kommentar
Hallo
man könnte doch erst mal mit der InStr herausfinden, wo die "#" steht, dann - aber nur wenn es einen Zeilenumbruch immer gibt! - ließt man sich mittels der Stringvariable1 alle Zeichen davor ein
dann sucht man weiter nach dem Leerzeichen, welches ja für den Zeilenumbruch stehen müßte
und übergibt den Rest in ähnlicher Weise an Stringvariable2.
Anschließend führt man Stringvariable1 und 2 zusammen.
Gruß
Tsuki
man könnte doch erst mal mit der InStr herausfinden, wo die "#" steht, dann - aber nur wenn es einen Zeilenumbruch immer gibt! - ließt man sich mittels der Stringvariable1 alle Zeichen davor ein
Stringvariable 1 = mid
(Textkomplett,1,bisAnDieStelleWoDie#Steht)
und übergibt den Rest in ähnlicher Weise an Stringvariable2.
Anschließend führt man Stringvariable1 und 2 zusammen.
Gruß
Tsuki

Hallo,
ich nutze für dieses Problem immer "TR.EXE".
Einfach mal googeln oder eine Nachricht an mich, dann sende ich Dir das zu.
Gruß René
ich nutze für dieses Problem immer "TR.EXE".
Einfach mal googeln oder eine Nachricht an mich, dann sende ich Dir das zu.
Gruß René
Moin
Evtl genügt es ja auch den Text gleich, nur Zeilenweise einzulesen, z.B.
Gruß L.
Evtl genügt es ja auch den Text gleich, nur Zeilenweise einzulesen, z.B.
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objSourceFile = objFSO.OpenTextFile("Source.txt", 1) ' Quelldatei öffnen
Do Until objSourceFile.AtEndOfStream
szNextLine = objSourceFile.Readline
if Right(szNextLine,1) = "#" Then
' jetzt nächste zeile holen und zusammen setzen
end if
Loop
Gruß L.