我有一个带有全名字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();
}
}
Run Code Online (Sandbox Code Playgroud)
Faa*_*hir 22
如果您只需要全名而不使用数组的姓氏和名字,这是我认为最好的方法.名字可以是两个或两个以上的单词,但姓氏总是在现实世界中的一个单词上.
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;
}
Run Code Online (Sandbox Code Playgroud)
输出字符串将是:firstName ="Abdul Latif"lastName ="Hussain"
对于多个名称,最好将EditTexts每个字段分开。
对于您的实施,如果您可以保证他们以该格式输入它,您可以去:
int firstSpace = UserFullName.indexOf(" "); // detect the first space character
String firstName = UserFullName.substring(0, firstSpace); // get everything upto the first space character
String lastName = UserFullName.substring(firstSpace).trim(); // get everything after the first space, trimming the spaces off
Run Code Online (Sandbox Code Playgroud)
只需进行一些错误检查以确保格式正确,否则可能会出现异常
| 归档时间: |
|
| 查看次数: |
19196 次 |
| 最近记录: |