如何在Swift中将NSRange转换为Range<String.Index>以处理NSString?
大家好!我刚开始学习Swift,在处理文本时遇到了问题。我有一个NSString,使用range(of:)方法搜索子字符串后得到了一个范围(NSRange)。但当我尝试用这个范围从Swift String中提取子字符串时,编译器报错了。
这是我的代码:
```swift
let nsString: NSString = "Привет, мир! Hello, world!"
let searchRange = nsString.range(of: "мир")
// searchRange 的类型是 NSRange
let swiftString: String = nsString as String
// 尝试获取子字符串
let substring = swiftString[searchRange] // 错误!
```
错误提示说NSRange不能用作String的索引。我了解到在Swift中,字符串是通过String.Index索引的,而不是整数或NSRange。如何正确地将NSRange转换为Range,以便处理Swift String?是否需要考虑多字节字符(例如emoji或西里尔字母)?感谢提供代码示例!
并