【发布时间】:2015-11-11 00:00:30
【问题描述】:
随着最近添加的 iOS 9.1 表情符号以及肤色等的可用性,假设字符串是由 emojis 组成的,您如何正确计算字符串中 Emojis 的数量?
请记住,表情符号的长度可能会有所不同。
NSString.length 或 string.characters.count
“???”返回 2
“✊????”返回 4
“??????”或者 ”????????”或者 ”???????????????????????????????????????????????? "返回 1!
“??????????????????????”返回 4(通常应显示为 1 个家庭表情符号)
等等……
【问题讨论】:
-
只使用字符串长度方法 - 它返回字符串中的字符数,而不是字节数,因此可以满足多字节字符,例如表情符号
-
@Paulw11 字符串长度对于常规表情符号返回 2,对于肤色表情符号返回 4。更奇怪的是它为一串 n 标志返回 1。
-
嗯。此处描述了标志问题 - oleb.net/blog/2014/07/swift-strings 基本上,字素簇的组合似乎还不是很“正确”,也许是因为其中一些的 Unicode 规范仍然是草稿。例如????”在一个字符串中分解为 ?????? ???? ???? ????如果您访问字符串的
characters属性 -
希望我的回答能帮到你。
标签: ios string swift nsstring emoji