IOS开发把汉字转换成拼音的两种方法和返回拼音首字母

来源:互联网 发布:分班软件 课程 编辑:程序博客网 时间:2024/04/27 09:21

一 把汉字转换成拼音的方法1:

-(void)chChangePin{//  把汉字转换成拼音第一种方法    NSString *str = [[NSString alloc]initWithFormat:@"%@", str1];    // NSString 转换成 CFStringRef 型    CFStringRef string1 = (CFStringRef)CFBridgingRetain(str);    NSLog(@"%@", str);    //  汉字转换成拼音    CFMutableStringRef string = CFStringCreateMutableCopy(NULL, 0, string1);    //  拼音(带声调的)    CFStringTransform(string, NULL, kCFStringTransformMandarinLatin, NO);    NSLog(@"%@", string);    //  去掉声调符号    CFStringTransform(string, NULL, kCFStringTransformStripDiacritics, NO);    NSLog(@"%@", string);    //  CFStringRef 转换成 NSString    NSString *strings = (NSString *)CFBridgingRelease(string);    //  去掉空格    NSString *cityString = [strings stringByReplacingOccurrencesOfString:@" " withString:@""];    NSLog(@"%@", cityString);}

结果如下:

二、汉字转拼音2

这种方法在传值的时候不灵活,到转换成无声调的(有空格符的)拼音和去掉空格的方式和第一种一样:

- (void)change2{ CFMutableStringRef string2 = CFStringCreateMutableCopy(NULL,0,CFSTR("第二种"));    NSLog(@"%@",string2);    //  带声调符号拼音    CFStringTransform(string2,NULL, kCFStringTransformMandarinLatin,NO);    NSLog(@"%@",string2);    // 去掉声调符    CFStringTransform(string2,NULL, kCFStringTransformStripDiacritics,NO);    NSLog(@"%@",string2);    //  CFStringRef 转换成NSString    NSString*string3 = (NSString*)CFBridgingRelease(string2);    //  去掉 空格    NSString*cityString2 = [string3 stringByReplacingOccurrencesOfString:@"" withString:@"" ];    NSLog(@"%@",cityString2);}

结果如下:


注意:在转换的过程中涉及很对定义的名字,自己使用的时候不要把变量的名字高混淆



1 0
原创粉丝点击