如何从Swift String获取给定索引的表情符号?

时间:2016-01-18 23:08:59

标签: ios string swift unicode emoji

当访问Swift String中给定索引处的字符时(通过下标),我注意到emojis并不总是由单个字符表示。

对于上下文,我正在开发一个应用程序,在该应用程序中,我们通过获取其名字的第一个字符和姓氏的第一个字符来获取用户名称的首字母。当用户将表情符号作为其中任何一个的第一个字符时,我们希望将其作为首字母的一部分显示。

示例:

  • “Jonny Appleseed” - > “JA”
  • “强尼种子” - > “J”

旧的表情符号似乎工作正常,并由一个角色代表:

let smiley = " this is a smile"
print(smiley[smiley.startIndex]) // 
let dog = " this is a dog"
print(dog[dog.startIndex])// 

然而,一些较新的表情符号(iOS 8.3中的可变肤色和可变族表情符号)似乎由多个字符表示:

  • 可变肤色表情符号(,等等)似乎都由两个字符表示:一个用于基础表情符号(宝贝,一个用于肤色修饰符)。
  • 变量系列单位表情符号(,等)似乎都由两个或多个字符表示。

有没有办法在String中的给定索引处访问表情符号并将整个表情符号检索为一个字符?如果没有,有没有办法轻松检查Swift角色并确定它是否是表情符号?

0 个答案:

没有答案