如何在 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
```
为什么会这样?如何正确获取字符串中的字符数,以便考虑到所有元素?