本文是将汉字字符串转换成以首拼音字母显示的字符串。
编辑灵感来源于QQ的好友搜索。
下面贴代码:
//获取拼音首字母(传入汉字字符串, 返回小写拼音首字母)
- (NSString *)firstCharactor:(NSString *)aString
{
NSMutableString *charactorStr = [NSMutableString string];
if (aString && aString.length > 1) {
for (int i = 0; i < aString.length; i++) {
//转成可变字符串
NSMutableString *str = [NSMutableString stringWithString:[aString substringWithRange:NSMakeRange(i, 1)]];
//先转换为带声调的拼音
CFStringTransform((CFMutableStringRef)str,NULL, kCFStringTransformMandarinLatin,NO);
//再转换为不带声调的拼音
CFStringTransform((CFMutableStringRef)str,NULL, kCFStringTransformStripDiacritics,NO);
//转化为小写
NSString *pinYin = [str lowercaseString];
//首字母
NSString *firstChar = [pinYin substringToIndex:1];
//将所有首字母拼接成字符串
[charactorStr appendFormat:@"%@",firstChar];
}
return charactorStr;
}
else return nil;
}