Avatar ·

Cómo trabajar correctamente con subcadenas (substring) en Swift

¡Hola a todos! Soy nuevo en Swift y no logro entender cómo extraer parte de una cadena. En otros lenguajes como Python o JavaScript es muy simple: `"Hello"[0:4]` o `"Hello".substring(0, 4)`. Pero en Swift todo es complicado. Esto es lo que intento: ```swift let text = "Hello, world!" let sub = text[0...4] // Error: 'subscript' is unavailable ``` Xcode se queja y dice que no se puede hacer así. Luego probé: ```swift let start = text.index(text.startIndex, offsetBy: 0) let end = text.index(text.startIndex, offsetBy: 4) let range = start...end let sub = text[range] // Obtengo un Substring, no un String ``` Obtuve un `Substring`, no una cadena normal. ¿Y cómo trabajo con eso? ¿Por qué no puedo simplemente tomar y extraer parte de una cadena como en otros lenguajes? ¿Por qué todo es tan complicado? Explíquenme, por favor, cómo obtener una subcadena en Swift de forma correcta y simple. Necesito extraer los primeros 5 caracteres, los últimos 3 caracteres, y también la parte del 3er al 7mo carácter. Y que el resultado sea un String normal.