Zitat von
SurfDuDe:
Das würde ich unbedinngt mit Regular Expressions und TRegExpr lösen:
http://www.regexpstudio.com/DE/TRegExpr/Help/About.html
Delphi-Quellcode:
// Diese einfache Funktion extrahiert alle E-Mail-Adressen aus dem InputString
// und legt eine Liste dieser Adressen in den Rückgabewert
function ExtractEmails (const AInputString : string) : string;
const
EmailRE = '[_a-zA-Z\d\-\.]+@[_a-zA-Z\d\-]+(\.[_a-zA-Z\d\-]+)+'
var
r : TRegExpr;
begin
Result := '';
r := TRegExpr.Create; // Erzeuge Objekt
try // garantiere Speicherfreigabe
r.Expression := EmailRE;
// der R.A. wird automatisch in die interne Struktur übersetzt
// innerhalb der Zuweisung an diese Eigenschaft
if r.Exec (AInputString) then
REPEAT
Result := Result + r.Match [0] + ', ';
UNTIL not r.ExecNext;
finally r.Free;
end;
end;
begin
ExctractEmails ('My e-mails is [email]anso@mail.ru[/email] and [email]anso@usa.net[/email]');
// gibt zurück: 'anso@mail.ru, [email]anso@usa.net[/email], '
end.
Diese Arbeitsweise kenne ich von PHP. Wundervoll, dass jemand auch so etwas für Delphi gemacht hab.
Ich werde es damit testen. Ich danke euch allen
Sollte ich Probleme haben sag ich bescheid.