iOS开发——汉字转拼音

以前有一次做一个天气预报的项目,有一个功能是输入城市名,请求该城市的天气,需要把汉字转化成拼音,比如深圳——>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;

}

  

posted on 2015-08-10 09:48  乱七八糟21号  阅读(348)  评论(0编辑  收藏  举报

导航