获取字符串的首字母

2018-03-28  本文已影响0人  松n_n鼠

获取一串字符串的第一个字的首字母大写

//获取一串字符串的第一个字的首字母
- (NSString *)firstCharactor:(NSString *)aString
{
    //转成了可变字符串
    NSMutableString *str = [NSMutableString stringWithString:aString];
    //先转换为带声调的拼音
    CFStringTransform((CFMutableStringRef)str,NULL, kCFStringTransformMandarinLatin,NO);
    //再转换为不带声调的拼音
    CFStringTransform((CFMutableStringRef)str,NULL, kCFStringTransformStripDiacritics,NO);
    //转化为大写拼音
    NSString *pinYin = [str capitalizedString];
    //获取并返回首字母
    return [pinYin substringToIndex:1];
}

获取一串字符串的所有字符的首字母大写

//一串字符串的首字母
- (NSString *)changeWithString:(NSString *)str
{
    
    // 转成可变
    NSMutableString * mStr = [NSMutableString stringWithString:str];
    // 转为带声调的拼音
    CFStringTransform((CFMutableStringRef)mStr, NULL, kCFStringTransformMandarinLatin, NO);
    NSLog(@"转为带声调的拼音-->%@",mStr);
    
    // 再转换为不带声调的拼音
    CFStringTransform((CFMutableStringRef)mStr, NULL, kCFStringTransformStripDiacritics, NO);
    NSLog(@"换为不带声调的拼音-->%@",mStr);
    
    // 转化为大写拼音
    NSString * pinyin  = [mStr capitalizedString];
    NSLog(@"大写拼音-->%@",pinyin);
    
    // 做判断找出所有小写字母
    NSMutableString * First = [NSMutableString stringWithString:pinyin];
    NSString * ABC =[[NSString alloc]init];
    
    for (int i = 0; i<First.length; i++) {
        unichar C = [First characterAtIndex:i];
        // 找出所有的大写字母
        if(C<= 'Z' && C>='A') {
            ABC = [ABC stringByAppendingFormat:@"%C",C];
            NSLog(@"剩下的大写字母 -----> %@",ABC);
        }
    }
    
    // 获取并返回首字母
    NSLog(@"所有首字母--->:%@",ABC);
    
    return ABC;
    
}
上一篇下一篇

猜你喜欢

热点阅读