Thema: Delphi Text durchsuchen

Einzelnen Beitrag anzeigen

Benutzerbild von Matze
Matze
(Co-Admin)

Registriert seit: 7. Jul 2003
Ort: Schwabenländle
14.929 Beiträge
 
Turbo Delphi für Win32
 
#11

Re: Text durchsuchen

  Alt 5. Jan 2009, 10:21
Hallo,

mal ein ganz anderer Ansatz: Du könntest den kompletten String an bestimmten Trennzeichen auftrennen und die dazwischen liegenden Einträge bsp. in eine TStringList schreiben. Die gehst du durch und prüfst auf das @-Zeichen (falls dies zur Feststellung einer E-Mail-Adresse für dich ausreicht.

Da gibt es zum Beispiel diese Prozedur in der Code-Library: Strings trennen.

Ein Aufruf könnte ungefähr so aussehen (ich habe das nur anhand des Beispiels aus der CL zusammengetippt):

Delphi-Quellcode:
procedure ShowEmails(const s: string); // s ist dein dein zu durchsuchender Text (Memo1.Text)
var
  StrList, NewList: TStringlist;
  i: Integer;
begin
  StrList := TStringlist.Create;
  NewList := TStringlist.Create;
  try
    // Hinzufügen aller Trennzeichen
    StrList.Append(',');
    StrList.Append(';');
    StrList.Append('|');
    StrList.Append('"');
    StrList.Append(' ');
    StrList.Append(#13#10);

    DivideString(s, StrList, NewList);

    // Prüfen auf eine E-Mail-Adresse
    for i := 0 to NewList.Count - 1 do
    begin
      // E-Mail-Adressen ausgeben
      if Pos('@', NewList[i]) > 0 then
        ShowMessage(NewList[i]);
    end;
  finally
    FreeAndNil(NewList);
    FreeAndNil(StrList);
  end;
end;
Wie gesagt, das ist komplett ungetestet, doch ich könnte mir vorstellen, dass es in der Art funktioniert.

Grüße, Matze
  Mit Zitat antworten Zitat