废话不多说,直接给大家贴关键代码了。
具体代码如下所示:
?| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
#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开发中经常碰到做通讯录需要将汉字转成拼音的情况,以下就是我把汉字转成拼音的方法
?| 1 2 3 4 5 6 7 8 |
+ (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方法即可。
以上所述是小编给大家介绍的iOS 汉字的拼音,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对服务器之家网站的支持!
原文链接:http://www.cnblogs.com/jukaiit/archive/2016/08/11/5760162.html








发表评论
◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。