- (NSInteger)countStrWithEmoji:(NSString*)str {
__block NSInteger cnt = 0;
[str enumerateSubstringsInRange:NSMakeRange(0, [str length]) options:NSStringEnumerationByComposedCharacterSequences usingBlock:
^(NSString* substring, NSRange substringRange, NSRange enclosingRange, BOOL* stop){
const unichar high = [substring characterAtIndex: 0];
// surrogate pair
if (0xd800 <= high && high <= 0xdbff) {
cnt++;
// not surrogate pair
} else {
cnt++;
}
}];
return cnt;
}