初学Java,从给定的字符串中抓取Email地址,返回一个字符串数组

王朝java/jsp·作者佚名  2006-01-09
窄屏简体版  字體: |||超大  

/**

文件名:EmailSeeker.java

描述: 从给定的字符串中抓取Email地址,返回一个字符串数组

作者:慈勤强

Email :cqq1978@yeah.net

**/

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 :cqq@263.net fdasfasf qqci@ddd.net ssmail to :cqq@263.net fdasfasf qqci@ddd.net dd@usa.net ss");

for(int i=0;i<ss.length;i++)

{

System.out.println(ss[i]);

}

}

}

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航