我有一个带有全名 EditText
字段的表单,我想将该字符串分成名字和姓氏字符串。谁可以帮我这个事?我可以知道实现目标的正确方法是什么吗?
如果用户输入他/她的名字,如 A B C
。名字将是 A
,姓氏将是 BC
我正在尝试这个:
EditText UNSP =(EditText)findViewById(R.id.UserNameToSIGNUP);
String UserFullName=UNSP.getText().toString();
String[] arr=UserFullName.split(" ");
String fname=arr[0];
String lname=arr[1];
Log.d("First name",fname);
Log.d("last name",lname);
if(UserFullName.length()==0) {
Toast.makeText(getApplicationContext(), "Submit Name", Toast.LENGTH_SHORT).show();
}
else{
Toast.makeText(getApplicationContext(), "Success", Toast.LENGTH_SHORT).show();
}
}
如果您只需要全名中的姓氏和名字而不使用数组,我认为这是最好的方法。名字可以出现在两个或两个以上的单词上,但姓氏在现实世界中总是出现在一个单词上。
String name = "Abdul Latif Hussain"
String lastName = "";
String firstName= "";
if(name.split("\\w+").length>1){
lastName = name.substring(name.lastIndexOf(" ")+1);
firstName = name.substring(0, name.lastIndexOf(' '));
}
else{
firstName = name;
}
输出字符串将是:firstName = "阿卜杜勒·拉蒂夫"lastName = "侯赛因"
我是一名优秀的程序员,十分优秀!