计算NSString中的不同字符

时间:2012-01-17 05:09:54

标签: nsstring foundation

如何计算NSString中使用的不同字符的数量。 基本上,来自字符串

  

Condimentum Consectetur Cras

我想得到14作为答案,因为:

  

Condimet scura

我们不能假设NSString的内容总是英文;因此,对于这种情况类似于[NSString length]的行为 - 计算Unicode字符 - 是预期的。

1 个答案:

答案 0 :(得分:1)

NSString *oldString=@"THIS IS OLD STRING.";
NSMutableArray *charArray=[[[NSMutableArray alloc]init ] autorelease];
for (int k1=0; k1<[oldString length]; k1++) {
    NSString *ichar  = [NSString stringWithFormat:@"%c", [oldString characterAtIndex:k1]];
    if (![charArray containsObject:ichar]) {
        [charArray addObject:ichar];
    }
}
NSMutableString *newString=[[NSMutableString alloc]init]; 
for (int k2=0; k2<[charArray count]; k2++) {
    NSString *ichar  =[charArray objectAtIndex:k2];
    [newString appendString:ichar];
}
    NSLog(@"old string lenght is %d",[oldString length]);
NSLog(@"new string lenght is %d",[newString length]);
你试过这个吗?我希望它会帮助你。