如何获取NSArray的第一个字符串



很简单的问题:

我有一个像这样的数组:

@[@"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)。

最新更新