时间:2021-02-15 10:19:54 | 栏目:iOS代码 | 点击:次
废话不多说,直接给大家贴关键代码了。
具体代码如下所示:
#import <Foundation/Foundation.h> @interface NSString (Utils) /** * 汉字的拼音 * * @return 拼音 */ - (NSString *)pinyin; @end #import "NSString+Utils.h" @implementation NSString (Utils) //汉字的拼音 - (NSString *)pinyin{ NSMutableString *str = [self mutableCopy]; CFStringTransform(( CFMutableStringRef)str, NULL, kCFStringTransformMandarinLatin, NO); CFStringTransform((CFMutableStringRef)str, NULL, kCFStringTransformStripDiacritics, NO); return [str stringByReplacingOccurrencesOfString:@" " withString:@""]; } @end
下面接着看下iOS将汉字转成拼音
在ios开发中经常碰到做通讯录需要将汉字转成拼音的情况,以下就是我把汉字转成拼音的方法
+ (NSString *)transform:(NSString *)chinese { NSMutableString *pinyin = [chinese mutableCopy]; CFStringTransform((__bridge CFMutableStringRef)pinyin, NULL, kCFStringTransformMandarinLatin, NO); CFStringTransform((__bridge CFMutableStringRef)pinyin, NULL, kCFStringTransformStripCombiningMarks, NO); NSLog(@"%@", pinyin); return [pinyin uppercaseString]; }
用kCFStringTransformMandarinLatin方法转化出来的是带音标的拼音,如果需要去掉音标,则继续使用kCFStringTransformStripCombiningMarks方法即可。