从NSString中逐个获取字符(值)

时间:2013-04-01 12:46:40

标签: iphone nsstring

我有一个NSString,其中我现在存储值2534568

我希望得到第一个数字2,然后是5和

然后3等等.....

感谢提前

2 个答案:

答案 0 :(得分:1)

由于到目前为止还没有提供正确答案,即使我没有这样做,我也必须回答这个问题。我不希望你被误导:

NSUInteger len = string.length;
unichar buf[len];
[string getCharacters:buf range:NSMakeRange(0, len)];

此处,buf将包含您可以迭代的字符。或者,你也可以使用charaterAtIndex:方法,虽然我不确定它是否明显慢于普通数组索引。 (因此,如果它是瓶颈,应该进行基准测试,不要进行过早优化。)

答案 1 :(得分:0)

从您想要数字的字符串

所以这也有效:

NSString *string=@"2534568";
NSInteger num=[string integerValue];
NSInteger temp=num;

NSMutableArray *digits=[NSMutableArray new];
while(temp >0){
    digits[digits.count]=@(temp%10);
    temp/=10;
}

注意:如果您希望数字为2,5,3,4顺序,请使用

for(NSNumber *d in [digits reverseObjectEnumerator]){
    NSLog(@"%@",d);
}