[ djordje @ 20.08.2004. 01:19 ] @
ima li neko algoritam za ekstraktovanje email adrese iz nekog stringa? treba mi za jedan mali projekat, ali ne mogu nikako da skoncetrisem da resim ovaj problem. Ima li ko?
[ vujkev @ 20.08.2004. 07:28 ] @
Evo jednog primera. Kucam iz glave tako da nije mozdna najbolje napisan
Code:
public Function FindEmail (byVal strTekst as String) as String
Dim strEmail as String
Dim iMajmun as Integer
Dim iSpace as Integer
Dim x as integer

iMajmun = InStr(1, strTekst, "@")  ' tražimo karakter "@" jer je on specifican za EMail
if iMajmun = 0 then 
   MsgBox "Email adresa nije nađena"  ' ako ga nema nema ni email adrese
   exit Function
end if 
iSpace = InStr(iMajmun, strTekst, " ")  ' trazimo prvi space (ili sta god vbcrlf, ";", ":" ...) posle email adrese da bi znali gde je kraj adrese
strEmail = mid (strTekst, iMajmun,iSpace - iMajmun)  'uzimamo zadnji deo adrese tipa "@hotmail.com"
For x = iMajmun to 1 Step -1   ' trazimo prvi space pre email adrese da bi videli gde je pocetak iste
   if mid(strTekst, x, 1) = " " then
      strEmail = mid(strTekst, x, iMajmun-x) & strEmail  ' i sad jednostavno dodamo pocetak adrese na vec postojeci string 
      Exit For
   end if 
Next x
FindEmail = strEmail
End Function


E sad ovo bi trebalo da radi samo nisam siguran u broj karaktera koje sam uzimao pri vadjenju prvog i sadnjeg dela adrese. Ako slucajno dodje do seckanja adrese samo povecaj (ili po potrebi smanji broj karaktera koji treba da uzme)