2014-02-24 280 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];