iOS 中 英 emoji 字符判断长度

2018-04-26  本文已影响43人  莹bei___㤫

原先期间写过UITextView限制输入字数
这个写的有一些复杂。

看很多人留言,我现在换一个解决问题的思路,来告诉大家。实现起来 更加方便。。

首先我们准备一个测试字符串:

测试文案

NSString *testStr = @"我是中文 wo shi A~Z 我是🤗🤗🤗🤗 莹北__㤫"

枚举代码


[testStr enumerateSubstringsInRange:NSMakeRange(0, testStr.length) options:NSStringEnumerationByComposedCharacterSequences usingBlock:^(NSString * _Nullable substring, NSRange substringRange, NSRange enclosingRange, BOOL * _Nonnull stop) {

NSLog(@"%@  \t%zd", substring, strlen([substring UTF8String]));

}];

执行结果

把字符串这个拆解出来,看打印结果:


结果

看结果其实很方便的看出来,中文和英文,以及emoji的边界问题。

其实在这里,就会有很好的扩展性了,在UITextField以及UITextView等等的 文本输入控件的对应事件中处理。

Emoji结语:

在苹果APIsubString中也有处理Emoji

我这里也不做过多的解释了,看API也有很明了了我就直接上图了:

EmojiApi.jpg

结语:

本人写博客能力一般,大家凑合的看 哈

上一篇下一篇

猜你喜欢

热点阅读