gpt4 book ai didi

swift - swift 中带有表情符号的子字符串

转载 作者:行者123 更新时间:2023-11-28 15:34:19 32 4
gpt4 key购买 nike

我有一个字符串“hi @😀”。如果我检查这个字符串的长度,它是 6。如果我写 string.characters[5] 获取数组索引超出绑定(bind)异常。为什么 ??如何提取😀.?

检查长度,我正在使用 string.utf16.count。

最佳答案

你得到这个错误是因为表情符号被表示为 Unicode 字符,它的长度不一定为 1,所以你应该总是使用从 .index(of:) 函数获得的索引来访问字符包含表情符号的字符串。

看看这个 Playground 片段,它向您展示了如何安全地从字符串中获取表情符号。

let s = "hi @😀 , bye ☀️ asd"
s.characters.count
s.characters.index(of: "😀")
if let emojiIndex = s.characters.index(of: "😀") {
s[emojiIndex]
}
s.characters.index(of: "☀️")
if let emojiIndex = s.characters.index(of: "☀️") {
s[emojiIndex]
}

关于swift - swift 中带有表情符号的子字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44436566/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com