【发布时间】:2016-05-06 19:17:24
【问题描述】:
我知道对此有类似的问题。但是,我尝试了很多解决方案,但它对我不起作用。
我需要帮助从一个字符串中提取多个子字符串:
String content = "Ben Conan General Manager 90010021 benconan@gmail.com";
注意:String中的内容不一定都是这种格式,可能都是乱码。
我想提取电话号码和电子邮件,如下所示:
1. 90010021
2。 benconan@gmail.com
在我的项目中,我试图获得此结果,然后将其显示到 2 个不同的 EditText 中。 我尝试过使用模式和匹配器类,但它不起作用。
如果需要,我可以在这里提供我的代码,请帮助我~
--------编辑----------
以下是我目前只取出邮箱地址的方法:
private static final String EMAIL_PATTERN =
"[a-zA-Z0-9\\+\\.\\_\\%\\-\\+]{1,256}" +
"\\@" +
"[a-zA-Z0-9][a-zA-Z0-9\\-]{0,64}" +
"(" +
"\\." +
"[a-zA-Z0-9][a-zA-Z0-9\\-]{0,25}" +
")+";
public String EmailValidator(String email) {
Pattern pattern = Pattern.compile(EMAIL_PATTERN);
Matcher matcher = pattern.matcher(email);
if (matcher.find()) {
return email.substring(matcher.start(), matcher.end());
} else {
// TODO handle condition when input doesn't have an email address
}
return email;
}
【问题讨论】:
-
用逗号分割字符串
-
@Vivek Mishra 嗨,文本不必有逗号。我只是把它放在那里以便于查看。我有一个用于电子邮件和电话的正则表达式公式,但它不起作用:) 现在将删除逗号
-
然后用空格隔开
-
String s = 本柯南总经理.split(""));字符串 s1 = 90010021.split(""));字符串 s2 = benconan@gmail.com.split(""));现在使用你的 s1 & s2
-
@AmarbirSingh 你看到你发布的内容了吗?