Wie man NSRange in Range<String.Index> in Swift für die Arbeit mit NSString umwandelt
Hallo zusammen! Ich habe gerade angefangen, Swift zu lernen, und bin auf ein Problem bei der Arbeit mit Text gestoßen. Ich habe einen NSString und erhalte einen Bereich (NSRange) nach der Suche nach einer Teilzeichenkette mit der Methode range(of:). Aber wenn ich versuche, diesen Bereich zu verwenden, um eine Teilzeichenkette aus einem Swift String zu extrahieren, gibt der Compiler einen Fehler aus.
Hier ist mein Code:
```swift
let nsString: NSString = "Привет, мир! Hello, world!"
let searchRange = nsString.range(of: "мир")
// searchRange hat den Typ NSRange
let swiftString: String = nsString as String
// Versuche, eine Teilzeichenkette zu erhalten
let substring = swiftString[searchRange] // Fehler!
```
Der Fehler besagt, dass `NSRange` nicht als Index für `String` verwendet werden kann. Ich habe gelesen, dass Strings in Swift über `String.Index` indiziert werden, nicht über ganze Zahlen oder `NSRange`. Wie kann ich `NSRange` korrekt in `Range` umwandeln, um mit Swift String zu arbeiten? Muss ich Multibyte-Zeichen (z.B. Emojis oder Kyrillisch) berücksichtigen? Ich wäre dankbar für Codebeispiele!