我知道有类似的问题。然而,我尝试了很多解决方案,但它对我不起作用。
我需要帮助从一个字符串中提取多个子字符串:
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;
}
最佳答案
你可以像这样把你的字符串分成arraylist
String str = "Ben Conan, General Manager, 90010021, benconan@gmail.com";
List<String> List = Arrays.asList(str.split(" "));
关于java - 如何从 String, Android/Java 获取多个子字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35078007/