Conteggio e iterazione dei caratteri
Iteri correttamente sul testo, anche tra emoji e accenti.
Conteggio e iterazione dei caratteri è una lezione Swift Academy gratuita su CoddyKit. Questa è la lezione 3 di 4. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento Swift Academy, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso Swift Academy include 4 lezioni in totale.
Conteggio dei caratteri
La proprietà count di una String restituisce il numero di valori Character, che corrisponde al numero di caratteri percepiti dall'utente.
let word = "Swift"
print(word.count)Il conteggio riflette i caratteri visibili
Poiché Swift conta i cluster di grafemi, una lettera accentata o un'emoji viene conteggiata come una sola unità, in accordo con ciò che vede il lettore.
let cafe = "caf\u{e9}"
print(cafe.count)Correttezza del conteggio delle emoji
Una singola emoji viene conteggiata come un carattere, anche se internamente occupa più byte e scalari.
let s = "Hi\u{1F600}"
print("Characters:", s.count)Anche le emoji complesse contano come una sola
Anche le emoji composte da più scalari, come una famiglia o una bandiera, contano come un singolo Character, a differenza del conteggio ingenuo di byte o scalari.
let flag = "\u{1F1FA}\u{1F1F8}"
print("Characters:", flag.count)
print("Scalars:", flag.unicodeScalars.count)Iterazione con for-in
Un ciclo for-in su una stringa visita ogni Character nell'ordine corretto, avanzando correttamente tra i cluster di grafemi.
for ch in "a\u{1F600}b" {
print(ch)
}Conteggio di caratteri specifici
È possibile combinare l'iterazione con un contatore oppure usare filter per contare le occorrenze di un determinato carattere.
let text = "banana"
let aCount = text.filter { $0 == "a" }.count
print("a appears:", aCount)Verifica dell'assenza di contenuto
È preferibile usare isEmpty invece di confrontare count con zero: il codice è più chiaro e può essere più veloce.
let s = ""
print(s.isEmpty)
print("hello".isEmpty)L'indicizzazione non usa numeri interi
Poiché i caratteri hanno dimensioni variabili, le stringhe Swift usano String.Index anziché pedici interi.
let word = "Swift"
let first = word[word.startIndex]
print(first)Iterazione con gli indici
È possibile iterare usando indices quando servono sia la posizione sia il carattere.
let word = "Hi"
for i in word.indices {
print(word[i])
}Enumerazione con gli offset
Usi enumerated() per ottenere un offset intero progressivo insieme a ogni carattere.
for (i, ch) in "abc".enumerated() {
print(i, ch)
}Perché il conteggio corretto è importante
Contare i cluster di grafemi fa sì che i controlli sulla lunghezza, il troncamento e la convalida si comportino in modo intuitivo con il testo internazionale e le emoji.
let name = "Jose\u{301}"
print("Visible length:", name.count)Verifica rapida
Richiami come Swift conta una singola emoji.
Riepilogo: conteggio e iterazione dei caratteri
Ha appreso che count restituisce il numero di cluster di grafemi, quindi emoji e accenti contano come uno, che for-in itera correttamente sui caratteri, che le stringhe usano String.Index anziché numeri interi e che enumerated() fornisce gli offset.
let s = "ab\u{1F600}"
print("Count:", s.count)
for (i, ch) in s.enumerated() { print(i, ch) }Domande Frequenti
La lezione «Conteggio e iterazione dei caratteri» è gratuita?
Sì — il testo completo di «Conteggio e iterazione dei caratteri» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso Swift Academy, passa a CoddyKit PRO. Il corso Swift Academy include 4 lezioni in totale.
Cosa imparerò in «Conteggio e iterazione dei caratteri»?
Iteri correttamente sul testo, anche tra emoji e accenti. Eserciti Swift Academy con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.
Ho bisogno di esperienza per iniziare Swift Academy?
Non è richiesta alcuna esperienza precedente. Swift Academy su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 3 di 4.
Quanto tempo richiede la lezione «Conteggio e iterazione dei caratteri»?
La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.
Posso scrivere ed eseguire codice in questa lezione Swift Academy?
Sì. Ogni lezione Swift Academy include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.
Tutte le lezioni di questo corso
- Caratteri e cluster di grafemi
- Scalari Unicode e punti di codice
- Conteggio e iterazione dei caratteri
- Rappresentazioni codificate: utf8, utf16, unicodeScalars