从单词组中获取电子邮件ID的最佳方法是什么?

时间:2017-10-11 05:32:49

标签: android string

我正在获取一组单词作为输出,是否有任何方法可以从该组中获取电子邮件ID。 我的输出将是这样的。

Lakshman Kumar,D / no:45/24 / d4,USA,Android app devoloper,lakshman @ gmail.com

4 个答案:

答案 0 :(得分:0)

试试这个。

 String response = "Lakshman Kumar,D/no:45/24/d4,USA,Android app devoloper,lakshman@gmail.com";
 String[] strings = response.split(",");
 String email = strings[strings.length - 1];
 Log.e("TAG", email);

注意

  • 在代码中使用split
  • 使用strings[strings.length - 1]获取电子邮件的价值

答案 1 :(得分:0)

如果有一个或多个电子邮件地址,请拆分文本并匹配电子邮件的模式,如下所示:

String[] tokens = yourText.split(",");
for (String token : tokens) {
    if (Patterns.EMAIL_ADDRESS.matcher(token).matches()) {
        String email = token;
        //use this email
    }
}

答案 2 :(得分:0)

您需要使用正则表达式从此文本中提取电子邮件ID

    Pattern p = Pattern.compile("\\b[A-Z0-9._%+-]+@[A-Z0-9.-]+\\.[A-Z]{2,4}\\b",
    Pattern.CASE_INSENSITIVE);
    Matcher matcher = p.matcher("your text will be here ");
    Set<String> emails = new HashSet<String>();
    while(matcher.find()) {
         emails.add(matcher.group());
}

答案 3 :(得分:0)

如果你确定&#34; @&#34;将始终只在电子邮件地址内使用,您可以这样做:

String output = "Lakshman Kumar,D/no:45/24/d4,USA,Android app devoloper,lakshman@gmail.com";
public String  getEmail(){

    // Splitting your output by ','
    String[] splittedOutput = output.split(",");

    for (String s : splittedOutput){

        // Checking to see if '@' exists in string
        if (s.indexOf("@") >= 0){
            return s;
        }
    }

    return "email not found";
}