iOS 中文转拼音

调用

- (void)viewDidLoad {
    [super viewDidLoad];
    // Do any additional setup after loading the view, typically from a nib.
    NSLog(@"%@",[self getPinyinWithString:@"卡卡西 kaka"]);
    NSLog(@"%@",[self getFirstLetterWithString:@"kakashi"]);
}

中文转拼音

- (NSString *)getPinyinWithString:(NSString *)string{
    
    NSString * pinyin;
    
    if ([string length]) {
        
        NSMutableString * ms = [[NSMutableString alloc] initWithString:string];
        
        if (CFStringTransform((__bridge CFMutableStringRef)ms, 0, kCFStringTransformMandarinLatin, NO)) {

            
        }
        
        if (CFStringTransform( (__bridge CFMutableStringRef)ms, 0, kCFStringTransformStripDiacritics, NO)) {
            
        }
        
        pinyin = ms;
        
    }
    return pinyin;
    
}

拼音获取首字母方法

- (NSString *)getFirstLetterWithString:(NSString *)string{
    
    NSString * regex = @"^[a-zA-Z]*$";
    NSString * firstLetter = [string substringToIndex:1];
    NSPredicate * predicate = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", regex];
    
    if ([predicate evaluateWithObject:firstLetter] == YES) {
        return [firstLetter uppercaseString];
    }else {
        
        return @"~";
        
    }
    
}


你可能感兴趣的:(Objective-C)