/** 文件名:EmailSeeker.java 描述: 从给定的字符串中抓取Email地址,返回一个字符串数组 作者:慈勤强 Email :[email protected] **/ 
import java.io.*; import java.util.*; 
class EmailSeeker  {  public String[] getEmail(String strContent)  {   ArrayList  al=new ArrayList();   String availableChar="1234567890abcdefghijklmnopqrstuvwxyz_.@";   String strPrefix="";   String strLast="";   int i,j,k,m;   i=j=k=m=0;   while(true)   {    i=strContent.indexOf("@",m);       if(i<1) break;    for(j=1;j<30;j++)    {     if(i<j)   break;     String singleChar=strContent.substring(i-j,i-j+1);     if(availableChar.indexOf(singleChar)<1) break;        }    for(k=1;k<30;k++)    {     if(i+k==strContent.length()) break;     String singleChar=strContent.substring(i+k,i+k+1);     if(availableChar.indexOf(singleChar)<1) break;        }    strPrefix=strContent.substring(i-j+1,i);    strLast=strContent.substring(i+1,i+k);       al.add(strPrefix+"@"+strLast);    m=i+1;   }   String[] s=(String[])al.toArray(new String[al.size()]);   return s;  }  public static void main(String[] args)   {   EmailSeeker es=new EmailSeeker();   String[] ss=es.getEmail("mail to :[email protected] fdasfasf [email protected] ssmail to :[email protected] fdasfasf [email protected] [email protected] ss");     for(int i=0;i<ss.length;i++)   {    System.out.println(ss[i]);   }  } }
   
 
  |