如何在 android 中显示电子邮件中的前 2 个姓名?

How do I display the first 2 names in an email in android?

我计划在我的代码中显示电子邮件中的前 2 个名字,这样如果电子邮件类似于 justin.bauer@gmail.com,我希望它能将名字 justin 识别为 Justin 并且第二名鲍尔。我知道可以通过正则表达式来实现,但不确定如何以最简单的方式进行。这是我到目前为止所做的:

String filename = listentry.getName();     // full file name
                int iend = filename.indexOf(".");
                int iend2 = filename.indexOf("."+iend);
                if (iend != -1 && iend2!= -1) {
                    String subString = filename.substring(0, iend);
                    String subString2 = filename.substring(0, iend2);
                    holder.text.setText(subString +" " + subString2);
                }

但是对于第二个名字,这并不像预期的那样有效。谁能解决这个问题或提供更清晰的代码?

谢谢!

您可以使用拆分命令:

String filename = listentry.getName();     // full file name
String[] nameParts = string.split(".");
holder.text.setText(nameParts[0] +" " + nameParts[1]);
String filename = listentry.getName();     // full file name
String[] parts = filename.split("@");
String domain = parts[1].split("\.")[0];
String[] names = parts[0].split("\.");
String combinedNames = "";
for (String name : names) {
    combinedNames += firstUpper(name) + " ";
}
holder.text.setText(combinedNames + "- " + firstUpper(domain));

// "abc ABC" -> "Abc Abc"
public String firstUpper(String text) {
    return (text.substring(0,1).toUpperCase() + text.substring(1).toLowerCase());
}