1.核心方法
CFStringTransform(<#CFMutableStringRef string#>, <#CFRange *range#>, <#CFStringRef transform#>, <#Boolean reverse#>)
- 参数一*:
需要传入CFMutableStringRef类型的字符串, 这个字符串就是这里的主角, 想转成拼音形式的汉字.
- 参数二*:
一个范围, 控制想输出拼音的范围, 如果填上NULL就是指全部输出.
- 参数三*:
一个CFStringRef类型的transform, 也就是转换形式, 有不同种转换形式, 按照自己的需求来进行选择.
- 参数四*:
一个Boolean类型, 指定该转换是否进行逆向转换。
2.使用
- (NSString *)changeLanguage:(NSString *)string{
// CFMutableStringRef mutableString = CFStringCreateMutableCopy(NULL, 0, CFSTR("中文"));
NSMutableString *mutableString = [NSMutableString stringWithString:string];
if (CFStringTransform((CFMutableStringRef)mutableString, NULL, kCFStringTransformMandarinLatin, NO)) {
// 去掉声调符号
CFStringTransform((CFMutableStringRef)mutableString, NULL, kCFStringTransformStripDiacritics, NO);
// 这里面参数三也可以选 kCFStringTransformStripCombiningMarks 指去掉重音和变音符
return mutableString;
}else{
return @"转换失败";
}
}
网友评论