Contagem e Iteração de Caracteres
Percorra textos corretamente, inclusive emojis e acentos.
Contagem e Iteração de Caracteres é uma aula grátis de Swift Academy no CoddyKit. Esta é a aula 3 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de Swift Academy, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de Swift Academy inclui 4 aulas no total.
Contando caracteres
A propriedade count de uma String retorna o número de valores Character, que equivale ao número de caracteres percebidos pelo usuário.
let word = "Swift"
print(word.count)A contagem reflete os caracteres visíveis
Como o Swift conta clusters de grafemas, uma letra acentuada ou um emoji conta como um só, correspondendo ao que o leitor vê.
let cafe = "caf\u{e9}"
print(cafe.count)Correção na contagem de emoji
Um único emoji conta como um caractere, embora internamente ocupe vários bytes e escalares.
let s = "Hi\u{1F600}"
print("Characters:", s.count)Até emoji complexos contam como um só
Mesmo emoji com vários escalares, como uma família ou uma flag, contam como um único Character, ao contrário da contagem ingênua de bytes ou escalares.
let flag = "\u{1F1FA}\u{1F1F8}"
print("Characters:", flag.count)
print("Scalars:", flag.unicodeScalars.count)Iterando com for-in
Um laço for-in sobre uma cadeia de caracteres visita cada Character em ordem, avançando corretamente pelos clusters de grafemas.
for ch in "a\u{1F600}b" {
print(ch)
}Contando caracteres específicos
Combine a iteração com um contador ou use filter para contar as ocorrências de um caractere específico.
let text = "banana"
let aCount = text.filter { $0 == "a" }.count
print("a appears:", aCount)Verificando se está vazio
Prefira isEmpty a comparar count com zero; isso é mais claro e pode ser mais rápido.
let s = ""
print(s.isEmpty)
print("hello".isEmpty)A indexação não é baseada em inteiros
Como os caracteres variam de tamanho, as cadeias de caracteres do Swift usam String.Index, em vez de subscritos inteiros.
let word = "Swift"
let first = word[word.startIndex]
print(first)Iterando com índices
Você pode iterar usando indices quando precisar tanto da posição quanto do caractere.
let word = "Hi"
for i in word.indices {
print(word[i])
}Enumerando com deslocamentos
Use enumerated() para obter um deslocamento inteiro progressivo junto com cada caractere.
for (i, ch) in "abc".enumerated() {
print(i, ch)
}Por que a contagem correta é importante
Contar por clusters de grafemas faz com que as verificações de comprimento, o truncamento e a validação se comportem de modo intuitivo para textos internacionais e emoji.
let name = "Jose\u{301}"
print("Visible length:", name.count)Verificação rápida
Relembre como o Swift conta um único emoji.
Recapitulação: contando e iterando caracteres
Você aprendeu que count retorna o número de clusters de grafemas, fazendo com que emoji e acentos contem como um só; que for-in itera corretamente pelos caracteres; que as cadeias de caracteres usam String.Index, não inteiros; e que enumerated() fornece deslocamentos.
let s = "ab\u{1F600}"
print("Count:", s.count)
for (i, ch) in s.enumerated() { print(i, ch) }Perguntas Frequentes
A aula “Contagem e Iteração de Caracteres” é grátis?
Sim — o texto completo de “Contagem e Iteração de Caracteres” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de Swift Academy, atualize para CoddyKit PRO. O curso de Swift Academy inclui 4 aulas no total.
O que vou aprender em “Contagem e Iteração de Caracteres”?
Percorra textos corretamente, inclusive emojis e acentos. Você pratica Swift Academy com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.
Preciso ter experiência prévia para começar Swift Academy?
Nenhuma experiência prévia é necessária. Swift Academy no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 3 de 4.
Quanto tempo leva a aula “Contagem e Iteração de Caracteres”?
A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.
Posso escrever e executar código nesta aula de Swift Academy?
Sim. Cada aula de Swift Academy inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.
Todas as aulas deste curso
- Caracteres e Agrupamentos de Grafemas
- Escalares Unicode e Pontos de Código
- Contagem e Iteração de Caracteres
- Representações Codificadas: utf8, utf16, unicodeScalars