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