Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Email-Adressen in einer Textdatei suchen (https://www.delphipraxis.net/126672-email-adressen-einer-textdatei-suchen.html)

Thomas F 30. Dez 2008 18:01


Email-Adressen in einer Textdatei suchen
 
Hallo,

wie kann ich in einer Textdatei ,RTF-Datei oder einer HTML-Datei
Email-Adressen finden und kopieren und in einer Datenbank , bzw. Textdatei einfügen.
Ich vermute man muß das @-Zeichen,und den "."-Punkt im Text suchen und dann den String kopieren.
Aber so ganz bekomm ich das nicht hin, weil die Email oft mit einem Komma"," oder auch ";" endet. :gruebel:

Sharky 30. Dez 2008 18:04

Re: Email-Adressen in einer Textdatei suchen
 
Zitat:

Zitat von Thomas F
... Aber so ganz bekomm ich das nicht hin, weil die Email oft mit einem Komma"," oder auch ";" endet. :gruebel:

Hai Thomas,

eine eMail-Adresse kann nicht mit einem "," oder ";" enden. In der Theorie musst Du zuerst nach dem @ suchen.
Dann nach links und rechts bis zu einem zeichen suchen das nicht bestandteil einer eMail Adresse sein kann.
" ", "," , ";" usw.
Alles was dazwichen ist, ist dann mit hoher wahrscheinlichkeit eine Mailadresse.

Namenloser 30. Dez 2008 18:06

Re: Email-Adressen in einer Textdatei suchen
 
Für sowas sind Reguläre Ausdrücke (RegExp) wie geschaffen.

Thomas F 30. Dez 2008 18:14

Re: Email-Adressen in einer Textdatei suchen
 
Zitat:

Zitat von Sharky
Zitat:

Zitat von Thomas F
... Aber so ganz bekomm ich das nicht hin, weil die Email oft mit einem Komma"," oder auch ";" endet. :gruebel:

Hai Thomas,

eine eMail-Adresse kann nicht mit einem "," oder ";" enden. In der Theorie musst Du zuerst nach dem @ suchen.
Dann nach links und rechts bis zu einem zeichen suchen das nicht bestandteil einer eMail Adresse sein kann.
" ", "," , ";" usw.
Alles was dazwichen ist, ist dann mit hoher wahrscheinlichkeit eine Mailadresse.

..aber wie schaut der Code aus ?

mit "Compare" oder "FindText" :gruebel:

......das mit dem Komma war anders gemeint :zwinker:

Nach einer Email-Adresse muß nicht ein Leerzeichen kommen,

sondern manchmal auch ein Komma,oder Strichpunkt

Thomas F 30. Dez 2008 18:35

Re: Email-Adressen in einer Textdatei suchen
 
Schon gefunden.... :-D

.....hier stehts was dazu :lol:


eMailadresse aus String filtern

Thomas F 1. Jan 2009 18:58

Re: Email-Adressen in einer Textdatei suchen
 
....so ganz funktionierts doch noch nicht :gruebel:
Eigentlich wollte ich ne Datei mit OpenDialog.execute öffnen ,
und dann sollten alle Email-Adressen der Datei in einem
Memo-Textfeld aufgelistet werden.
Er zeigt aber immer nur eine an. :gruebel:

Zitat:

Zitat von Sharky
Hai,

das habe ich mal so schnell hingetippelt.
Delphi-Quellcode:
function ExtractiMehl (aValue : string) : string;
var
  at : integer;
  start : integer;
  stop : integer;
  permittedChar : SET of Char;
begin
  permittedChar := ['a'..'z','.','_','-'];
  aValue := AnsiLowerCase(aValue);
  at := Pos('@',aValue);
  start := at-1;
  while (aValue[start] in permittedChar) and (start > 0) do
  begin
    Dec (start)
  end;
  stop := at+1;
  while (aValue[stop] in permittedChar) and (stop < length(aValue)) do
  begin
    Inc (stop)
  end;
  result := Copy (aValue,start,(stop-start));
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
  Label1.Caption := ExtractiMehl(Edit1.Text)
end;


Die Muhkuh 1. Jan 2009 19:09

Re: Email-Adressen in einer Textdatei suchen
 
Sonderlich gut ist das ja nicht.

Beim kurzen drüberschauen, sollte die Funktion ja auch sowas als E-Mail erkennen ...---@...de

Ich würde das ganze auch mit regulären Ausdrücken lösen.

Thomas F 1. Jan 2009 19:57

Re: Email-Adressen in einer Textdatei suchen
 
Zitat:

Zitat von Die Muhkuh
Sonderlich gut ist das ja nicht.

Beim kurzen drüberschauen, sollte die Funktion ja auch sowas als E-Mail erkennen ...---@...de

Ich würde das ganze auch mit regulären Ausdrücken lösen.

....ich habs ausprobiert, funktioniert einwandfrei :lol:


Alle Zeitangaben in WEZ +1. Es ist jetzt 11:44 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz