Registriert seit: 24. Mai 2007
13 Beiträge
|
Re: Suche Hilfe für Stringverarbeitung mit Copy und Pos ...
13. Aug 2007, 10:18
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.
|