Core Foundation包含文字轉拼音的相應方法,而且還支持聲調。具體過程如下:
-
首先假設有一段文字
NSString *str = @"小敏";
-
文字→帶聲調的拼音
// 注意:以下操作必須先將不可變字符串轉化為可變字符串才能將漢字轉化成拼音 // ??代碼可替換為:NSMutableString *strM = [str mutableCopy]; NSMutableString *strM = [NSMutableString stringWithString:str]; // 轉成帶聲調的拼音 CFStringTransform((CFMutableStringRef)str, NULL, kCFStringTransformToLatin, false);
NSLog(@"%@", strM);
輸出結果:xiǎo mǐn
```
-
文字→不帶聲調的拼音
// 轉成不帶聲調的拼音 CFStringTransform((CFMutableStringRef)strM, NULL, kCFStringTransformStripDiacritics, false);
NSLog(@"%@", strM);
輸出結果:xiao min
```
-
轉換的拼音之間會有空格,可根據需要進行刪除
// 刪除拼音之間的空格 NSString *resultStr = [strM stringByReplacingOccurrencesOfString:@" " withString:@""];
NSLog(@"%@", resultStr);
輸出結果:xiaomin
```
-
獲取拼音首字母(大寫字母)
// 獲取首字母并轉換為大寫字母 NSString *firstLetter = [strM substringToIndex:1].uppercaseString;
NSLog(@"%@", firstLetter);
輸出結果:X
```
注意:這種轉換方式僅適用于性能要求不高的場景!自行決定是否使用!