将中文转为拼音 iOS

来源:互联网 发布:地址栏执行js 编辑:程序博客网 时间:2024/05/19 04:07

/**

*    有时项目中需要将中文转为拼音     以下以我们项目为准      将中文转为拼音获取第一个首字母

*/

- (void)viewDidLoad

{

 NSLog(@"拼音 ==  %@",[selfgetFirstWordByString:@"喜欢你哈"]);

    

}


- (NSString *)getFirstWordByString:(NSString *) infoString

{


//    if ([infoString length]) {

//        NSMutableString *ms = [[NSMutableString alloc] initWithString:hanziText];

//        if (CFStringTransform((__bridge CFMutableStringRef)ms, 0, kCFStringTransformMandarinLatin, NO)) {

//            NSLog(@"pinyin: %@", ms);

//        }

//        if (CFStringTransform((__bridge CFMutableStringRef)ms, 0, kCFStringTransformStripDiacritics, NO)) {

//            NSLog(@"pinyin: %@", ms);

//        }  

//    }



    NSMutableString *pWord;

    if (infoString == nil || [infoString isEqualToString:@""]) {

        infoString = @"YaoYao";

    }

    

    NSString *pyStr = @"";

    for (int i =0;i<infoString.length; i++) {

        pWord = [[infoString substringWithRange:NSMakeRange(i,1)]mutableCopy];

        

        // 将文字转换成拼音

        CFStringTransform((__bridgeCFMutableStringRef)pWord,NULL,kCFStringTransformToLatin,NO);

        // 去掉声调

        CFStringTransform((__bridgeCFMutableStringRef)pWord,NULL,kCFStringTransformStripDiacritics,NO);

        

        pyStr = [NSString stringWithFormat:@"%@%@",pyStr, [pWord substringToIndex:1]];

    }



    

    return pyStr;

}


1 0