在Java中使用分隔符拆分字符串

时间:2013-11-13 09:26:06

标签: java string

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

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

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

4 个答案:

答案 0 :(得分: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));
  }

Out put

 anandc@AND.com
 xyz@yahoo.co.in

答案 1 :(得分: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 

答案 2 :(得分:1)

使用此:

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

答案 3 :(得分:0)

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

实际上,最好是使用分隔符表示你确定不会出现在地址中