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

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

问题描述:

我收到一组单词作为输出,是否有任何方式从该组中获取电子邮件ID。 我的输出将是这样的。从单词组中获取电子邮件ID的最佳方式是什么?

拉克什曼库马尔,d/NO:45/24/D4,USA,Android应用devoloper,拉克什曼卡@ gmail.com

+0

通过昏迷(,)分割您的值并获取您的字符串 –

+0

我通过扫描名片来获取输出结果我能够通过昏迷分割值,但我无法获取我想要的确切单词,因为我是在某些输出中获得随机输出邮件编号将位于第二位一些它将在第四的位置有什么方法来获取邮件ID,可能在我的输出中。 –

尝试此。

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

注意

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

如果有一个或多个电子邮件地址,分裂文字和匹配电子邮件的模式如下:

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

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

Pattern p = Pattern.compile("\\b[A-Z0-9._%+-][email protected][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()); 
} 

,如果你确信“@”永远只电子邮件地址内部使用,你可以这样做:

String output = "Lakshman Kumar,D/no:45/24/d4,USA,Android app devoloper,[email protected]"; 
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"; 
}