Labels

Showing posts with label emails. Show all posts
Showing posts with label emails. Show all posts

Tuesday, February 28, 2012

Extrair E-mails de String

Esses dias estava querendo extrair os e-mails de um determinado texto, e então dei uma pesquisada na internet e achei alguns exemplos:
http://javafree.uol.com.br/topic-861154-Extraindo-email-com-Expressao-Regular.html
http://www.guj.com.br/java/214784-extrair-email--arquivo-texto--expressao-regular

E a partir desta pesquisa criei um método para extrair e-mails:


package com.blogspot.rozolin.utils;

import java.util.Set;
import java.util.TreeSet;
import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class EmailUtils {

 private static final Pattern EMAIL_PATTERN = Pattern.compile("[_a-z0-9-]+(\\.[_a-z0-9-]+)*@[a-z0-9-]+(\\.[a-z0-9-]+)*(\\.[a-z]{2,3})");

 public static Set<String> getEmails(String texto) {
  Set<String> emails = new TreeSet<String>();
  Matcher mat = EMAIL_PATTERN.matcher(texto);
  while (mat.find()) {
   emails.add(mat.group());
  }
  return emails;

 }

 public static void main(String[] args) {
  String texto = " gustavorozolin@gmail.com <algum texto aqui> teste@teste.com <outro aqui> teste1@teste.com.br ";

  Set<String> emails = EmailUtils.getEmails(texto);

  for (String email : emails) {
   System.out.println(email);
  }
 }

}
Resultado:
gustavorozolin@gmail.com
teste1@teste.com.br
teste@teste.com