Avatar ·

Comment travailler correctement avec une sous-chaîne (substring) en Swift ? Problèmes avec String.Index et Range

Bonjour à tous ! J'ai récemment commencé à étudier Swift et j'ai rencontré un problème pour obtenir une sous-chaîne à partir d'une chaîne. Dans d'autres langages, comme Python ou JavaScript, cela se fait très simplement : `"Hello"[0:4]` ou `"Hello".substring(0, 4)`. Mais en Swift, je suis tombé sur des choses étranges — `String.Index`, `Range`, et des méthodes comme `prefix()`, `suffix()`, `dropFirst()`. Voici un exemple qui ne fonctionne pas chez moi : ```swift let text = "Привет, мир!" let substring = text[0...5] // Erreur : 'subscript(_:)' is unavailable ``` J'ai essayé de faire comme j'avais l'habitude, mais le compilateur râle. Ensuite, j'ai appris qu'en Swift on ne peut pas simplement utiliser des entiers pour les indices de chaînes, car les caractères peuvent avoir des longueurs différentes (par exemple, les emojis). Mais alors, comment obtenir les 5 premiers caractères ou une plage du 3e au 7e caractère ? J'ai essayé ce code : ```swift let startIndex = text.index(text.startIndex, offsetBy: 0) let endIndex = text.index(text.startIndex, offsetBy: 5) let range = startIndex..