iOS漢字轉拼音的方法

weixin_34006468發表於2016-03-28

網路流行的漢字轉拼音方案是帶一個拼音碼錶,速度快。其實Core Foundation也提供了一種方案,而且還帶聲調!

NSMutableString *ms = [[NSMutableString alloc] initWithString:@"我是中國人"];
if (CFStringTransform((__bridge CFMutableStringRef)ms, 0, kCFStringTransformMandarinLatin, NO)) {
    NSLog(@"Pingying: %@", ms); // wǒ shì zhōng guó rén
}
if (CFStringTransform((__bridge CFMutableStringRef)ms, 0, kCFStringTransformStripDiacritics, NO)) {
    NSLog(@"Pingying: %@", ms); // wo shi zhong guo ren
}

有興趣的可以試一試,這個函式不僅支援中文,日文韓文等都沒問題,很強大。

也可以通過上述方法算出首個漢字的大寫字母(這個感覺挺有用)

//獲取拼音首字母(傳入漢字字串, 返回大寫拼音首字母)
- (NSString *)firstCharactor:(NSString *)aString
{
    //轉成了可變字串
    NSMutableString *str = [NSMutableString stringWithString:aString];
    //先轉換為帶聲調的拼音
    CFStringTransform((CFMutableStringRef)str,NULL, kCFStringTransformMandarinLatin,NO);
    //再轉換為不帶聲調的拼音
    CFStringTransform((CFMutableStringRef)str,NULL, kCFStringTransformStripDiacritics,NO);
    //轉化為大寫拼音
    NSString *pinYin = [str capitalizedString];
    //獲取並返回首字母
    return [pinYin substringToIndex:1];
}

相關文章