Comptage et indices
Fait partie de la section Logique et Flux du Journey Swift de Coddy — leçon 1 sur 56.
Vous avez utilisé str.count dans les bases pour obtenir le nombre de caractères. Aller plus loin signifie comprendre qu'une String Swift est une séquence de caractères, et non un simple tableau d'octets.
let greeting = "Hello"
print(greeting.count) // 5
print(greeting.first!) // "H"
print(greeting.last!) // "o"
print(greeting.isEmpty) // falseVous ne pouvez pas indexer une chaîne avec un entier. Pour récupérer un caractère à une position spécifique, demandez à la chaîne un index décalé par rapport à son début :
let i = greeting.index(greeting.startIndex, offsetBy: 1)
print(greeting[i]) // "e"Les propriétés first, last et isEmpty sont les outils quotidiens. N'utilisez les indices que lorsque vous avez réellement besoin d'une position spécifique.
Défi
DébutantLisez une seule ligne d'entrée. Affichez trois lignes :
- Le nombre de caractères de l'entrée
- Le premier et le dernier caractère séparés par un espace, par exemple
H opourHello truelorsque le premier et le dernier caractère sont la même lettre en ignorant la casse, sinonfalse(par exempleAnna,RadaR)
Supposez que l'entrée contient au moins un caractère.
Pour l'entrée RadaR, la sortie est :
5
R R
trueAide-mémoire
Une String Swift est une séquence de Caractères. Propriétés clés :
let s = "Hello"
s.count // 5
s.first! // "H"
s.last! // "o"
s.isEmpty // falsePour accéder à un caractère à une position spécifique, utilisez un décalage d'index :
let i = s.index(s.startIndex, offsetBy: 1)
print(s[i]) // "e"Comparaison de caractères insensible à la casse :
s.first!.lowercased() == s.last!.lowercased()Essayez vous-même
let line = readLine()!
// À FAIRE : afficher le nombre, le premier/dernier, et la vérification de la même lettre en ignorant la casse
Cette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.
Toutes les leçons de Logique et Flux
1Les chaînes de caractères en profondeur
Comptage et indicesCasse et nettoyageRecherche dans les chaînesDécoupage et jointureRemplacement de sous-chaînesRécapitulatif - Vérification du nom d'utilisateur4Ensembles
Création d'ensemblesUnion et intersectionSoustraction et différence symétriqueSous-ensemble et sur-ensembleRécapitulatif - Filtre de tags7Projet - Suivi d'habitudes
Aperçu du projetMarquer comme terminé10Projet - Moteur de quiz
Présentation du projetPoser des questions2Intervalles et Pas
Fermé vs Semi-ouvertLe PasMéthodes d'intervalleIntervalles dans un SwitchRécapitulatif - Grille de calendrier5Fonctions d'ordre supérieur, Partie 1
MapFilterReduceChaînage de map, filter, reduceRécapitulatif - Statistiques de mots