Strings e Unicode — grafemas, índices, substrings e APIs
Entenda as Strings compatíveis com Unicode: clusters de grafemas estendidos, String.Index, substrings, APIs comuns (prefixo/sufixo/contains, divisão/união) e o desempenho de copy-on-write.
Strings e Unicode — grafemas, índices, substrings e APIs é uma aula grátis de Swift Academy no CoddyKit. Esta é a aula 1 de 3. 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 3 aulas no total.
Unicode e grafemas
O String do Swift é compatível com Unicode. Um caractere visível para o usuário pode ser formado por vários escalares (um cluster de grafemas estendido).
- Exemplos: emojis com tons de pele e letras acentuadas
- A contagem usa caracteres, não bytes
Contagem de caracteres
count mede caracteres (clusters de grafemas), não bytes.
let wave = "👋🏽" // hand + skin tone modifier
let text = "Hi " + wave
print(text, "count =", text.count) // counts visible charactersÍndices e navegação
Use String.Index com auxiliares como startIndex, index(after:) e index(_:offsetBy:).
let s = "Swift"
let firstIndex = s.startIndex
let secondIndex = s.index(after: firstIndex)
print(s[firstIndex], s[secondIndex]) // S wSubsequências
Substring compartilha o armazenamento com a String original. Converta para String(left) para armazenamento de longo prazo.
let phrase = "hello.world"
let dot = phrase.firstIndex(of: ".")!
let left = phrase[..<dot] // Substring (shares storage)
let right = phrase[phrase.index(after: dot)...] // Substring
print(left, right)APIs comuns
APIs úteis: hasPrefix, hasSuffix, contains, além de split/joined.
let path = "/usr/local/bin"
print(path.hasPrefix("/usr")) // true
print(path.hasSuffix("bin")) // true
print(path.contains("local")) // true
let parts = path.split(separator: "/") // [ "", "usr", "local", "bin" ] without first slash
let joined = parts.joined(separator: "-")
print(joined)Desempenho (COW)
Desempenho: Strings e Substrings usam cópia na escrita. As cópias são baratas até serem modificadas. Promova Substring para String ao armazená-la por longo prazo.
Regras de índice de String
Verificação rápida: qual é a maneira correta de indexar uma String do Swift?
Recapitulação
Recapitulação: Strings compatíveis com Unicode usam clusters de grafemas. Navegue com String.Index, crie recortes como Substring, use APIs comuns e lembre-se do desempenho de COW.
Aprenda Swift com um tutor de IA — grátis
Escreva e execute código real no seu navegador, obtenha ajuda instantânea de um tutor de IA 24/7 e continue de onde parou na web ou no app.
- Cursos
- 122
- Aulas
- 409
Perguntas Frequentes
A aula “Strings e Unicode — grafemas, índices, substrings e APIs” é grátis?
Sim — o texto completo de “Strings e Unicode — grafemas, índices, substrings e APIs” é 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 3 aulas no total.
O que vou aprender em “Strings e Unicode — grafemas, índices, substrings e APIs”?
Entenda as Strings compatíveis com Unicode: clusters de grafemas estendidos, String.Index, substrings, APIs comuns (prefixo/sufixo/contains, divisão/união) e o desempenho de copy-on-write. 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 1 de 3.
Quanto tempo leva a aula “Strings e Unicode — grafemas, índices, substrings e APIs”?
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
- Strings e Unicode — grafemas, índices, substrings e APIs
- APIs comuns — prefix/suffix/contains, split/join
- Observações sobre desempenho — copy-on-write