iOS开发——汉字转拼音
2015-08-10 09:48
316 查看
以前有一次做一个天气预报的项目,有一个功能是输入城市名,请求该城市的天气,需要把汉字转化成拼音,比如深圳——>shenzhen,加入到参数中。当时在网上找了一下,网友给出的方法很多都用不了,现在给出一种系统自带的方法。
- (void)viewDidLoad {
[super viewDidLoad];
NSString *str = @"乱七八糟";
[self transChinaseToPinYin:str];
}
-(NSString*)transChinaseToPinYin:(NSString*)hanzi{
NSMutableString *msg = [[NSMutableString alloc] initWithString:hanzi];
NSLog(@"msg1:%@",msg); //msg:乱七八糟
//将汉字转成带声调的拼音
CFStringTransform((__bridge CFMutableStringRef)msg, 0, kCFStringTransformMandarinLatin, NO);
NSLog(@"msg2:%@",msg); //msg:luàn qī bā zāo
//将带声调的拼音——>不带声调的拼音
CFStringTransform((__bridge CFMutableStringRef)msg, 0, kCFStringTransformStripDiacritics, NO);
NSLog(@"msg3:%@",msg); //luan qi ba zao
//将不带声调的拼音中的空格去掉
NSString *pinYin = [msg stringByReplacingOccurrencesOfString:@" " withString:@""];
NSLog(@"pinYin:%@",pinYin); //luanqibazao
return pinYin;
}
- (void)viewDidLoad {
[super viewDidLoad];
NSString *str = @"乱七八糟";
[self transChinaseToPinYin:str];
}
-(NSString*)transChinaseToPinYin:(NSString*)hanzi{
NSMutableString *msg = [[NSMutableString alloc] initWithString:hanzi];
NSLog(@"msg1:%@",msg); //msg:乱七八糟
//将汉字转成带声调的拼音
CFStringTransform((__bridge CFMutableStringRef)msg, 0, kCFStringTransformMandarinLatin, NO);
NSLog(@"msg2:%@",msg); //msg:luàn qī bā zāo
//将带声调的拼音——>不带声调的拼音
CFStringTransform((__bridge CFMutableStringRef)msg, 0, kCFStringTransformStripDiacritics, NO);
NSLog(@"msg3:%@",msg); //luan qi ba zao
//将不带声调的拼音中的空格去掉
NSString *pinYin = [msg stringByReplacingOccurrencesOfString:@" " withString:@""];
NSLog(@"pinYin:%@",pinYin); //luanqibazao
return pinYin;
}
相关文章推荐
- iOS 定时器使用详解
- iOS 开发小技巧
- iOS 9之SFSafariViewController
- ios animation暂停pause、恢复resume
- ios培训
- ios开发者证书图解
- IOSTAT命令
- 6个iOS图片文本设计小技巧
- 如何轻松实现iOS9多任务管理器效果(iCarousel高级教程)
- iOS常见问题---dyld: could not load inserted library ‘/usr/lib/libgmalloc.dylib’
- iOS CGAffineTransform属性
- IOS获得各种文档文件夹路径的方法
- iOS 正则表达式判断邮箱、手机号、身份证、昵称、密码、手机型号等
- iOS 正则表达式判断邮箱、手机号、身份证、昵称、密码、手机型号等
- iOS 自定义分段选择器
- iOS应用内部切换语言,不跟随系统
- iOS 宏(define)与常量(const)的正确使用
- 千锋扣丁学堂-iOS9新功能
- iOS修改导航栏和状态栏的颜色
- IOS LocationManager定位国内偏移,火星坐标(GCJ-02)解决方法