2014-02-24 390 views
1

如何在First NameLast Name中分开全名。名字和姓氏中的Split姓氏

NSString *fullName = @"John Luke Morite"; 
NSString *firstName = [[fullName componentsSeparatedByString:@" "] objectAtIndex:0]; //John 
NSString *lastName = ?? // Luke Morite 
+0

我看到你正在尝试做的有但只有两件事你可能想要考虑。 1)并非每种语言都使用“空格”来分隔单词。 2)并非每种语言都将姓氏/姓氏放在最后。 –

+0

此外,还有姓氏,其中有空格(德耶稣,德拉克鲁斯等) –

+0

@卢西亚诺纳西门托我刚才想知道。这些全名。你从Facebook上拿走他们吗? –

回答

3
NSString *fullName = @"John Luke Morite"; 
NSString *firstName = [[string componentsSeparatedByString:@" "] objectAtIndex:0]; //John 
NSString *lastName = [fullName substringFromIndex:[fullName rangeOfString:firstName].length + 1]; 
+2

这将崩溃,如果fullName是一个单词,没有空格。在设置lastName之前,请检查fullName.length> firstName.length – bgfriend0

2

这里的策略寻找第一个空间,并以剩余的字符

NSString *fullName = @"John Luke Morite"; 
NSRange range = [fullName rangeOfString:@" "]; 
NSString *lastName = [fullName substringFromIndex:range.length+1]; 
6

一个更好的办法:

NSString *fullName = @"John Luke Morite"; 
NSRange range = [fullName rangeOfString:@" "]; 
NSString *fname = [fullName substringToIndex:range.location]; 
NSString *lname = [fullName substringFromIndex:range.location+1];