Comment obtenir la longueur d'une chaîne en Swift ? (count ne fonctionne pas comme dans d'autres langues)
Bonjour à tous ! Je viens de commencer à apprendre Swift après Python et j'ai rencontré une situation déroutante. En Python, j'avais l'habitude d'écrire `len("hello")` et d'obtenir 5. En Swift, j'ai essayé de faire ceci :
```swift
let text = "Привет, мир!"
print(text.length)
```
Mais Xcode a affiché une erreur : "Value of type 'String' has no member 'length'". Alors je me suis souvenu que dans certains langages on utilise la propriété `length`, mais en Swift cela ne fonctionne pas.
Ensuite, j'ai cherché sur Google et j'ai découvert qu'il fallait utiliser la propriété `count` :
```swift
print(text.count)
```
Mais j'ai remarqué un comportement étrange. Si la chaîne contient des emojis ou des caractères avec des accents (par exemple, "café" ou "😊"), alors `count` n'affiche pas ce que j'attends. Par exemple :
```swift
let emoji = "👨👩👧👦"
print(emoji.count) // Affiche 1
```
Alors que je m'attendais à 4 (papa, maman, fille, garçon). Ou avec un drapeau :
```swift
let flag = "🇷🇺"
print(flag.count) // Affiche aussi 1
```
Pourquoi cela se produit-il ? Comment obtenir correctement le nombre de caractères dans une chaîne pour prendre en compte tous les
No answers yet.
Connectez-vous pour laisser une réponse