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-Key: 124024

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

Printed on: April 19, 2024 at 14:04 o'clock

Mitglied: 81825
81825 Sep 02, 2009 at 09:48:23 (UTC)
Goto Top
Hi,

Einstieg gleich mit Doppelpostings. Die Regeln sind wohl uninteressant?
Member: Magic09
Magic09 Sep 02, 2009 at 09:55:56 (UTC)
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
Member: drkznE
drkznE Sep 02, 2009 at 10:38:57 (UTC)
Goto Top
Ich verstehe dein Problem nicht wirklich.. aber hilft dir strg+f denn nicht weiter? : E
Member: bastla
bastla Sep 02, 2009 at 13:18:11 (UTC)
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