Iterare sulle stringhe P1
Fa parte della sezione Fondamenti del percorso Swift di Coddy. Lezione 71 di 86.
Proprio come gli array, le stringhe in Swift sono sequenze di caratteri su cui puoi iterare. Questo rende facile elaborare il testo un carattere alla volta usando il familiare ciclo for-in.
Quando scorri una stringa, Swift ti fornisce ogni carattere in ordine:
let word = "Hello"
for char in word {
print(char)
}
// H
// e
// l
// l
// oOgni char nel ciclo è di tipo Character, non String. Questa distinzione è importante quando devi confrontare o manipolare singoli caratteri.
Puoi usare questa tecnica per analizzare il testo, ad esempio contando caratteri specifici:
let message = "banana"
var countA = 0
for char in message {
if char == "a" {
countA += 1
}
}
print(countA) // 3Nota che quando confronti un carattere, usiamo un singolo carattere tra virgolette come "a". Swift lo considera automaticamente un Character quando lo confronti con un altro carattere.
Sfida
FacileScrivi una funzione countVowels che accetta text e restituisce il numero totale di vocali nella stringa.
Esamina ogni carattere della stringa e conta quante vocali ci sono (a, e, i, o, u). Conta sia le vocali minuscole sia quelle maiuscole.
Parametri:
text(String): la stringa da analizzare
Restituisce: il numero totale di vocali trovate nella stringa (Int)
Esempio: se text è "Hello World", la funzione dovrebbe restituire 3 (le vocali sono e, o, o).
Provalo tu
func countVowels(text: String) -> Int {
// Write code here
}
Questa lezione include un breve quiz. Inizia la lezione per rispondere e tenere traccia dei tuoi progressi.
Tutte le lezioni di Fondamenti
4Operatori – Parte 1
Operatori aritmeticiOperatore moduloAssegnazione compostaRiepilogo - Matematica sempliceOperatori di confronto7I/O di base
Funzione printInterpolazione di stringheInput con ReadLineConversione di tipoRipasso - Fino a 120Ripasso - Vero o falso10Funzioni
Dichiarare una funzioneParametri e argomentiValori restituitiEtichette degli argomentiRiepilogo - Funzione SigmaRiepilogo - Funzione di validazioneValori predefiniti13Iterare sulle sequenze
Iterare sugli elementiIl metodo enumerateIterare sulle stringhe P1Iterare sulle stringhe P22Variabili
Let vs VarAnnotazioni di tipoNumeriStringaBooleanoConvenzioni di denominazioneRiepilogo - Inizializzare le variabili5Operatori Parte 2
Operatori logici Parte 1Operatori logici Parte 2Riepilogo - Logica sempliceOperatori logici Parte 3Operatore ternario8Calcolatore per dividere il conto
Messaggio di benvenutoAcquisire i dati11FizzBuzz con una variante
Panoramica del giocoLa funzione FizzBuzz3Valori opzionali
Cosa sono i valori opzionaliEstrazione del valore con if letGuard letOperatore di coalescenza nilRiepilogo - Estrazione sicura del valore6Decisioni
Istruzione ifIf - ElseRipasso - Calcolatrice sempliceIstruzione switchSwitch con intervalli9Cicli
Ciclo for-inCiclo whileCiclo repeat-whileBreakContinueRipasso - FattorialeIntervalli nei cicliCiclo annidatoRipasso - Input dinamicoEsercitati da solo: Playground Swift