![]() |
Parsen von htm Datei und Informationen trennen mit Semikolon
Hallo DPler,
ich habe eine htm Datei die folgendermassen aufgebaut ist: Zitat:
Meine Frage nun ist wie bekomme ich die Informationen zwischen diesen <TD> Tags ausgelesen und mit einem ";" separiert? Dachte schon an Pos(Ex) zum suchen der Tags. Gibts elegantere Loesungen? Ausserdem sollen nur die die "Failed" haben ausgelesen werden. Die anderen koennen ignoriert werden! Danke! |
Re: Parsen von htm Datei und Informationen trennen mit Semik
Zitat:
|
Re: Parsen von htm Datei und Informationen trennen mit Semik
Zitat:
|
Re: Parsen von htm Datei und Informationen trennen mit Semik
|
Re: Parsen von htm Datei und Informationen trennen mit Semik
Am Besten verwendet man einen HTML-Parser.
![]() Man kann auch mit regulären Ausdrücken da rangehen, aber mit dem HTML-Parser ist man besser bedient. |
Re: Parsen von htm Datei und Informationen trennen mit Semik
Hallo mkienzler,
ist das nicht das was ich fragte mit den Tags? Dass ich danach suchen muss und dann ab dem Tag anfange zu kopieren? Wenn ja wie mach ich dann weiter nachdem ich die erste Information habe? //Mal diesen HTML Parser ansehen |
Re: Parsen von htm Datei und Informationen trennen mit Semik
Hallo Tobias,
vielleicht erkennst du gewisse Parallelen zu deinem Problem: ![]() Die Ausgabe als CSV-Datei könntest du leicht mittels DelimitedText erledigen. Freundliche Grüße |
Re: Parsen von htm Datei und Informationen trennen mit Semik
Zitat:
|
Re: Parsen von htm Datei und Informationen trennen mit Semik
Delphi-Quellcode:
procedure HTMLtoCSV(HTML:string; CSV:TStrings);
var RegExpr_TR, RegExpr_TD:TRegExpr; s:string; begin RegExpr_TR:=TRegExpr.Create; RegExpr_TD:=TRegExpr.Create; try RegExpr_TR.ModifierG:=false; RegExpr_TR.ModifierI:=true; RegExpr_TR.Expression :='<tr><td.*?>failed(.*)</tr>'; RegExpr_TD.ModifierG:=false; RegExpr_TD.ModifierI:=true; RegExpr_TD.Expression :='<td.*?>(.*)</td>'; s:=StringReplace(HTML, #13, '', [rfReplaceAll]); s:=StringReplace(s, #10, '', [rfReplaceAll]); if RegExpr_TR.Exec(s) then begin repeat if RegExpr_TD.Exec(RegExpr_TR.Match[1]) then begin s:=''; repeat s:=s + RegExpr_TD.Match[1] + ';'; until not RegExpr_TD.ExecNext; CSV.Append(s); end; until not RegExpr_TR.ExecNext; end; finally RegExpr_TR.free; RegExpr_TD.free; end; end; ![]() |
Re: Parsen von htm Datei und Informationen trennen mit Semik
guck mal in die open source libary, da hat alzheimer mal was eingestellt, was mit grösseren trennzeichen umgehen kann...
damit sollt es ein leichtes sein, deinen string zu zerlegen. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:09 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz