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
```
注意:这种转换方式仅适用于性能要求不高的场景!自行决定是否使用!