当前位置:主页 > 移动开发 > iOS代码 >

iOS 汉字的拼音

时间: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方法即可。

您可能感兴趣的文章:

相关文章