很简单的问题:
我有一个像这样的数组:
@[@"John Doe", @"Mister Appleseed", @"Steve"];
如果它有两个(或更多)单词,我想删除除第一个以外的所有单词,所以输出数组应该像这样:
@[@"John", @"Mister", @"Steve"];
我该怎么做?
NSArray * arr = @[@"John Doe", @"Mister Appleseed", @"Steve"];
NSMutableArray * tmp = [NSMutableArray array];
for (NSString * s in arr)
{
NSArray * cmpnts = [s componentsSeparatedByString:@" "];
[tmp addObject:cmpnts[0]];
}
arr = tmp;
检查以下代码:
NSMutableArray *finalArray = [[NSMutableArray alloc] init];
NSArray *sourceArray = @[@"John Doe", @"Mister Appleseed", @"Steve"];
for(NSString *str in sourceArray){
[finalArray addObject:[str componentsSepratedByString:@" "] objectAtIndex:0]];
}
遍历名称数组,在空格处分隔每个名称(" "
),然后获取第一个对象:第一个名称。
NSArray *nameArray = @[@"Name", @"Name Two"]; // original array
NSMutable *modifiedNameArray = [NSMutableArray new]; // new mutable array to add new names
for (NSString *fullName in nameArray) { // for loop
NSString *firstName = [[fullName componentsSeparatedByString:@" "] objectAtIndex:0]; // extract first name
[modifiedNameArray addObject:firstName]; // add first name to mutable array
}
您必须有两个数组,因为您不能在循环中使用数组时改变数组(即使它是NSMutableArray
)。