Supergut! Danke...
eins von den dreien hätte ich nun
<B class=grey>Wartburg golf 4[/B]
, EZ: 01/03,
EUR 3.000
also ich bekomme das jetzt herausgefiltert:
Wartburg golf 4
muss ich das für alle 3 "Suchbegriffe" wiederholen, oder geht das auch in einem? Mag mir das noch jemand zeigen?
Da ich die Ergebnisse schon sehr gerne in einer Listbox hätte.
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
i: Integer;
s, s1, s2: String;
begin
i := 0;
Listbox1.Clear;
s2 := Memo1.Text;
{ so lange 'class=grey>' gefunden wird ist pos() > 0 }
while pos('class=grey>', s2) > 0 do
begin
{ kopieren der Zeichenfolge ab 'class=grey>' bis zum ersten Vorkommen von '"'
-> Linkende }
while s1 <> '<' do
begin
Inc(i);
{ immer 1 Zeichen nach s1 kopieren }
s1 := copy(s2, pos('class=grey>', s2)-1+i, 1);
{ Überprüfen, ob s1 = ", wenn true Schleife verlassen }
if s1 = '<' then break;
{ Zusammensetzten des Links }
s := s + s1;
end;
{ Hinzufügen des Links der in s steht in die Listbox }
memo2.lines.Add(s);
{ Da pos() inmer nur das erste Vorkommen eines Teilstrings in einem String
findet, wird der Text bis nach dem ersten Vorkommen abgeschnitten }
s2 := copy(s2, pos('class=grey>', s2)+Length(s), Length(Memo1.Text));
Memo2.text := StringReplace(Memo2.text, 'class=grey>', ' ',
[rfReplaceAll, rfIgnoreCase]);
{ Zurücksetzen der Variablen }
s := '';
s1 := '';
i := 0;
end;
end;