Avatar ·

如何在 Swift 中获取字符串长度?(count 不像其他语言那样工作)

大家好!我刚从 Python 开始学习 Swift,遇到了一个令人困惑的情况。在 Python 中,我习惯写 `len("hello")` 并得到 5。在 Swift 中,我尝试这样做: ```swift let text = "Привет, мир!" print(text.length) ``` 但 Xcode 报错了:"Value of type 'String' has no member 'length'"。然后我记起有些语言使用 `length` 属性,但在 Swift 中这不起作用。 后来我谷歌到需要使用 `count` 属性: ```swift print(text.count) ``` 但我注意到奇怪的行为。如果字符串包含 emoji 或带重音符号的字符(例如 "café" 或 "😊"),`count` 显示的结果与我的预期不符。例如: ```swift let emoji = "👨‍👩‍👧‍👦" print(emoji.count) // 输出 1 ``` 而我预期是 4(爸爸、妈妈、女孩、男孩)。或者带旗帜的: ```swift let flag = "🇷🇺" print(flag.count) // 也是 1 ``` 为什么会这样?如何正确获取字符串中的字符数,以便考虑到所有元素?