Search code examples
objective-cstringcocoacamelcasing

How do I convert an NSString from CamelCase to TitleCase, 'playerName' into 'Player Name'?


I'm looking for the easiest way to convert a string from camelback format to Title Case format.

How do I change 'playerName' into 'Player Name'?


Solution

  • NSString *str = @"playerName";
    NSMutableString *str2 = [NSMutableString string];
    
    for (NSInteger i=0; i<str.length; i++){
        NSString *ch = [str substringWithRange:NSMakeRange(i, 1)];
        if ([ch rangeOfCharacterFromSet:[NSCharacterSet uppercaseLetterCharacterSet]].location != NSNotFound) {
            [str2 appendString:@" "];
        }
        [str2 appendString:ch];
    }
    NSLog(@"%@", str2.capitalizedString);