¿Cómo usar String.substringWithRange en Swift? ¿O cómo funcionan Range en Swift?
¡Hola a todos! Soy nuevo en Swift, viniendo desde Objective-C, y tengo un problema al trabajar con strings. En Objective-C, extraía substrings fácilmente con `substringWithRange:`, por ejemplo:
```objc
NSString *str = @"¡Hola, mundo!";
NSRange range = NSMakeRange(0, 6);
NSString *substr = [str substringWithRange:range]; // "¡Hola,"
```
En Swift, intento hacer lo mismo, pero me encuentro con errores. Escribí:
```swift
let str = "¡Hola, mundo!"
let range = NSMakeRange(0, 6)
let substr = str.substringWithRange(range) // ¡Error!
```
Xcode dice que `String` no tiene un método `substringWithRange`. He leído que en Swift se debe usar `Range`, pero no entiendo cómo crearlo. ¿Por qué no se puede simplemente pasar un `NSRange`?
Por favor, explíquenme con ejemplos:
1. ¿Cómo extraer correctamente un substring de un string en Swift?
2. ¿Qué son `Range` y `String.Index` y cómo trabajar con ellos?
3. ¿Cómo manejar strings con Unicode (por ejemplo, emojis o cirílico)?
Gracias de antemano.