Einzelnen Beitrag anzeigen

SurfDuDe

Registriert seit: 24. Mai 2007
13 Beiträge
 
#13

Re: Suche Hilfe für Stringverarbeitung mit Copy und Pos ...

  Alt 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.
  Mit Zitat antworten Zitat