如何从不区分大小写的字符串数组中获取第一个字符

时间:2012-10-31 14:23:45

标签: iphone objective-c ipad nsmutablearray nsarray

在我的iPhone应用程序中,我有一系列的叮咬。

从那个字符串我需要得到第一个charecters数组。为此我已经实现了如下逻辑。它有效,但在这个我已经检索charectes twicw 1.Small字母和2.Capital字母。

即使是小写字母,我也只需要大写字母。

“A” 美国,非洲和美国,antantica

contactIndex = [[NSMutableArray alloc] init];

      for (int i=0; i<[contactsArray count]-1; i++){
            //---get the first char of each state---
            char alphabet = [[contactsArray objectAtIndex:i] characterAtIndex:0];
            NSString *uniChar = [NSString stringWithFormat:@"%C", alphabet];

            //---add each letter to the index array---
            if (![contactIndex containsObject:uniChar])
            {            
                  [contactIndex addObject:uniChar];
            }        
      }

2 个答案:

答案 0 :(得分:2)

您可以使用旧的时尚C功能:toupper(str)

或者您可以使用uppercaseString()方法:

NSString* changeString = [upperString uppercaseString];

答案 1 :(得分:2)

参见示例,这将起作用

NSMutableArray *contactsArray = [[NSMutableArray alloc] initWithObjects:@"America",@"Africa",@"america",@"antantica", nil];    

for (int i=0; i<[contactsArray count]; i++){

        NSString *alphabet = [[contactsArray objectAtIndex:i] uppercaseString];

        NSString *firstCharactor = [alphabet substringToIndex:1];

       [contactIndex addObject:firstCharactor];

        NSLog(@"%@",firstCharactor);

 }