magic09
Goto Top

Textpasagen aus einer .txt-Datei finden und rausfinden

Hallo Leute,

ich habe folgendes Problem:

Ich habe eine riesen .txt-Datei. Hier gibt es immer Absätze, die sich wiederholen. Beispiel:

<a> ....bla bla bla </a>
<a> ....123 </a>
<a> ....????? </a>
<a> ....blupp</a>

Ich brauche nun ein Programm/Funktion, die das ganze Dokument nach folgenden Textpasagen absucht <a> [Test/Zeichen] </a> und mir dann diese jeweils rausgibt.

Ich bedanke mich schonmal im Voraus für eure Hilfe.

Magic09

Content-ID: 124024

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

Ausgedruckt am: 22.11.2024 um 21:11 Uhr

81825
81825 02.09.2009 um 11:48:23 Uhr
Goto Top
Hi,

Einstieg gleich mit Doppelpostings. Die Regeln sind wohl uninteressant?
Magic09
Magic09 02.09.2009 um 11:55:56 Uhr
Goto Top
Entschuldigt. Ich dachte beim ersten Mal hätte das Posting nicht geklappt. Brauche wirklich dringend Hilfe.

Wäre schön, wenn ihr trotzdem helfen könntest!

Danke
drkznE
drkznE 02.09.2009 um 12:38:57 Uhr
Goto Top
Ich verstehe dein Problem nicht wirklich.. aber hilft dir strg+f denn nicht weiter? : E
bastla
bastla 02.09.2009 um 15:18:11 Uhr
Goto Top
Hallo Magic09 und willkommen im Forum!

Ich nehme an, Du möchtest alle enthaltenen "Links" aus der "Riesen.txt" extrahieren - falls ja, kannst Du es mit diesem VBScript versuchen:
FilePath = "D:\Riesen.txt"  
Suffix = "-Links.txt"  
LookFor = "<a>.*</a>"  

Set fso = CreateObject("Scripting.FileSystemObject")  
If Not fso.FileExists(FilePath) Then WScript.Quit

T = fso.OpenTextFile(FilePath).ReadAll

Set rE = New RegExp
rE.Global = True
rE.IgnoreCase = True
rE.Pattern = LookFor

ResultPath = fso.GetParentFolderName(FilePath)
If Right(ResultPath, 1) <> "\" Then ResultPath = ResultPath & "\"  
Set ResultFile = fso.CreateTextFile(ResultPath & fso.GetBaseName(FilePath) & Suffix, True)

Set Matches = rE.Execute(T)
For Each Match In Matches
    ResultFile.WriteLine Match
Next
Damit wird eine Datei mit dem Zusatz "-Links.txt" mit allen Fundstellen erzeugt.

[Edit] Soferne mehrere Fundstellen in einer Zeile enthalten sind, könnte folgender Ersatz für die Zeile 3 dafür sorgen, dass alle einzeln erfasst werden:
LookFor = "<a>[^<]*</a>"
[/Edit]

Grüße
bastla