outlook有一种email地址格式,采用逗号分隔开字段,扩展名叫CSV。 例如: "姓名","称谓","单位名称","部门","职务","邮政地址","邮政编码","电话","传真","统一编码","其他电话","单位其他","移动电话","呼机","主页","电子邮件","备注"
  程序打开文件,每行读取 只用第一个逗号前的字符串作为姓名,email地址匹配格式取第一个(位置无关) 于是写下粗陋程序:  private static final String repmail ="([\\w.-]+[@]{1}((\\w)+[.]){1,3}(\\w)+)";  private static final String repname =".+?,";  Pattern mailPattern = Pattern.compile(repmail );   Pattern namePattern = Pattern.compile(repname); 
   File file = new File("test.CSV");   FileInputStream is = new FileInputStream(file);   BufferedReader br = new BufferedReader(new InputStreamReader(is));         String input = null;   ArrayList list = new ArrayList();    while((input = br.readLine())!=null){     Matcher matchermail = mailPattern.matcher(input);     Matcher matchername = namePattern.matcher(input);     String[] card = new String[2];     if(matchername.find()){       card[0] = matchername.group(0).replaceAll("\"","");     }        if(matchermail.find()){          card[1] = matchermail.group(0);     }     if(card[0]==null || card[0].equals("") || card[1]==null || card[1].equals("")){       continue;     }     list.add(card);   } //输出   for(int i=0;i<list.size();i++){           System.out.println(((String[])list.get(i))[0] + ":" + ((String[])list.get(i))[1]);   } 
   
 
  |