如何在 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());
}
我计划在我的代码中显示电子邮件中的前 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());
}