我需要帮助来拆分两个由分隔符“AND”分隔的电子邮件地址。当电子邮件地址在电子邮件 ID 中包含字符“AND”时,我在拆分时遇到问题。例如,如果需要拆分的电子邮件地址如下所示。两个电子邮件地址之间没有空格。
'anandc@AND.comANDxyz@yahoo.co.in', and the delimiter is'AND'
在上述情况下,似乎提取了三个项目而不是两个。有人可以帮我解决这个问题。提前致谢
您可以" 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
给出正确的输出
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
用这个 :
String[] splits = text.split("\\s+AND\\s+");
http://docs.oracle.com/javase/7/docs/api/java/lang/String.html#split(java.lang.String) 正则表达式将区分大小写
实际上,最好的方法是使用您确定不会出现在地址中的分隔符表达式