- (void)viewDidLoad {
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
NSString *currentText = @"原因很明显了,微信首要任务是换着法子从用户口袋里捞钱,不会想让用户仅仅把他当做聊天工具,让用户进入微信多看广告才是微信想要做的(但微信吃相这么难看";
[currentText enumerateSubstringsInRange:NSMakeRange(0, currentText.length) options:NSStringEnumerationByComposedCharacterSequences usingBlock:^(NSString * _Nullable substring, NSRange substringRange, NSRange enclosingRange, BOOL * _Nonnull stop)
{
printf("%s",[[ViewController getFirstLetter:substring] UTF8String]);
}];
}
+(NSString *)getFirstLetter:(NSString *) strInput
{
if ([strInput length])
{
NSMutableString *ms = [[NSMutableString alloc] initWithString:strInput];
// 1. kCFStringTransformMandarinLatin 表示中文转拉丁字母,NULL 表示转换范围为整个字符串
CFStringTransform((__bridge CFMutableStringRef)ms, NULL, kCFStringTransformMandarinLatin, NO);
// 2. kCFStringTransformStripDiacritics,去掉音调
CFStringTransform((__bridge CFMutableStringRef)ms, 0, kCFStringTransformStripDiacritics, NO);
// 3. 转换结果是按将个汉字的拼音以空格分隔的,我们将每个汉字的拼音按空格切开放到数组中
NSArray *pyArray = [ms componentsSeparatedByString:@" "];
if(pyArray && pyArray.count > 0)
{
ms = [[NSMutableString alloc] init];
// 4. 只取每个汉字的首字母
for (NSString *strTemp in pyArray)
{
[ms appendString:[strTemp substringToIndex:1]];
}
return [ms uppercaseString];
}
ms = nil;
}
return nil;
}