/** 文件名: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]); } } }

|