![]() |
eMailadresse aus String filtern
Moin,
ich habe einen String in der Form: Vorname Nachname, Anschrift ...bla .. email@adresse.de blubber Ich benötige aus diesem Kauderwelsch die Mailaddi Hat da jemand einen Tip`? Danke Gruss EL |
Re: eMailadresse aus String filtern
Hai EL,
das einfachste wäre wohl Du ermittelst die Position des @ und gehst dann nach links bzw. rechts bis Du auf ein Zeichen triffst welches in einer eMail-Adresse nicht mehr zulässig ist. |
Re: eMailadresse aus String filtern
Zitat:
Hast Du für mich da evtl. ein Codeschnipsel? Gruss EL |
Re: eMailadresse aus String filtern
Oder du zerlegst den Text mit
![]() und suchst in den einzelnen teilen nach @, das braucht aber sicher länger als Sharkys lösung... |
Re: eMailadresse aus String filtern
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; |
Re: eMailadresse aus String filtern
Zitat:
klappt !!!! vielen lieben Dank! Gruss EL |
AW: eMailadresse aus String filtern
jetzt wird nur noch eine Lösung für solche Fälle benötigt:
"Alle schreiben an musterman@mail.de. Der Text soll..." "Alle schreiben an musterman@mail.de... Der Text soll..." "Alle schreiben an musterman@mail.de, der Text soll..." Grüße aus dem Land der Sonderfälle :shock: |
AW: eMailadresse aus String filtern
Hallo Sandi007,
Fall 1 funktioniert ohne Probleme. Es gibt einen virtuellen Keks, wenn du mir sagen kannst, warum :mrgreen: Die anderen beiden Fälle lassen sich erledigen, wenn du am Ende Zeichen löschst, die keine Buchstaben sind. Wobei der Code natürlich der Aufgabenstellung gerecht wird: Zitat:
|
AW: eMailadresse aus String filtern
|
AW: eMailadresse aus String filtern
Oder du verwendest den obigen Code weiter und wendest anschließend eine Funktion wie
![]() Die kann man auch leicht selbt machen, mit einer einfachen Schleife, falls du sie für Delphi nicht findest. (Solange letztes Zeichen Punkt oder Komma ist, entferne das letzte Zeichen) Falls du es doch mit einer RegExp machen solltest, denke bitte daran, dass es auch andere Endungen als .de und .com gibt. Es gibt auch TopLevel-Domains, die länger als 4 Buchstaben sind. Und auch eine Domain ohne einen Punkt kann eine gültige Domain sein. Leider gibt es immer noch viel Software, die es da zu genau nimmt und verschiedene, völlig legale E-Mail-Adressen als inkorrekt erkennt... Liebe Grüße, Valentin |
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:31 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz