0

我需要帮助来拆分两个由分隔符“AND”分​​隔的电子邮件地址。当电子邮件地址在电子邮件 ID 中包含字符“AND”时,我在拆分时遇到问题。例如,如果需要拆分的电子邮件地址如下所示。两个电子邮件地址之间没有空格。

'anandc@AND.comANDxyz@yahoo.co.in', and the delimiter is'AND' 

在上述情况下,似乎提取了三个项目而不是两个。有人可以帮我解决这个问题。提前致谢

4

4 回答 4

2

您可以" AND "用作分隔符。

 String str="anandc@AND.com AND xyz@yahoo.co.in";
 String[] emailArr=str.split(" AND "); 

或者您可以使用以下regex

  String str = "anandc@AND.com AND xyz@yahoo.co.in";
  Pattern p = Pattern.compile("[_A-Za-z0-9-]+(\\.[_A-Za-z0-9-]+)*@[A-Za-z0-9]+
                                   (\\.[A-Za-z0-9]+)*(\\.[A-Za-z]{2,})");
  Matcher matcher = p.matcher(str);
  while (matcher.find()) {
     System.out.println(matcher.group(0));
  }

输出

 anandc@AND.com
 xyz@yahoo.co.in
于 2013-11-13T09:40:48.703 回答
1

给出正确的输出

public class Test {
        public static void main(String args[]) {
            String text = "anandc@AND.com AND xyz@yahoo.co.in ";
            String[] splits = text.split(" AND ");
            for (int i = 0; i < splits.length; i++) {
                System.out.println("data :" + splits[i]);
            }
        }

    }

输出是

data :anandc@AND.com    
data :xyz@yahoo.co.in 
于 2013-11-13T09:30:40.920 回答
1

用这个 :

String[] splits = text.split("\\s+AND\\s+");

于 2013-11-13T09:35:27.470 回答
0

http://docs.oracle.com/javase/7/docs/api/java/lang/String.html#split(java.lang.String) 正则表达式将区分大小写

实际上,最好的方法是使用您确定不会出现在地址中的分隔符表达式

于 2013-11-13T09:30:34.313 回答