如何将逗号分隔的字符串转换为整数数组

时间:2014-01-16 16:33:26

标签: objective-c

如何转换数字值“20,30,40,42”;到Objective C中的{20,20,40,42}整数数组。

3 个答案:

答案 0 :(得分:2)

您可以使用

NSArray *numbers = ["20,30,40,42" componentsSeparatedByString:@","];

但在这种情况下,您将在数字数组中使用NSString。 您不能将int存储到数组中,因此下一步应该是枚举该数组并从字符串创建NSNumber并将其放入另一个数组: Ñ

    NSMutableArray *numArray = [[NSMutableArray alloc] init];
    for (NSString *s in arr)
    {
        NSNumber *num = [NSNumber numberWithInt:[s intValue]];
        [numArray addObject:num];
    }

// Swift 4
let numbersStr = "20,30,40,42".components(separatedBy: ",")
let numbers = numbersStr.flatMap { Int($0) }

如果用flatMap替换map,则会在Int而不是Int上获得选项。

答案 1 :(得分:0)

使用[string componentsSeparatedByString:@","]

应该有效。 :)

答案 2 :(得分:0)

考虑到你:

NSString *myString = @"20,30,40,42";

首先将单个数字字符串分开如下:

NSArray *myNumberStringArray = [myString componentsSeparatedByString:@","];

然后获取NSNumber数组如下:

NSMutableArray *myNumberArray = [[NSMutableArray alloc] init];
for (NSString *nString in myNumberStringArray )
{
    [myNumberArray addObject:[NSNumber numberWithInt:[nString  intValue]];
}

干杯!