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?
ekstrakcija email adrese
Zaključano
Zakačeno
Evo jednog primera. Kucam iz glave tako da nije mozdna najbolje napisan
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)
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
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)
Potpis
Naučio sam...
Da je važnije biti ljubazan nego biti u pravu
Da je važnije biti ljubazan nego biti u pravu