Descobrindo o comprimento de uma string

Swift:
Descobrindo o comprimento de uma string

Como fazer:

let saudacao = "Olá, mundo!"
let comprimento = saudacao.count

print("O comprimento da string é \(comprimento)")
// Saída: O comprimento da string é 12

Para strings com caracteres especiais:

let emoji = "🇧🇷"
print("O comprimento do emoji é \(emoji.count)")
// Saída: O comprimento do emoji é 1

Lembre-se que Swift trata os Emojis como caracteres únicos, independentemente da sua complexidade.

Mergulho Profundo

Em versões anteriores do Swift, você poderia ter usado saudacao.characters.count, mas isso foi simplificado. Hoje, .count faz o trabalho sem complicações. Há alternativas, como NSString do Objective-C, que contam os caracteres de maneira diferente, considerando detalhes de codificação UTF-16.

let texto = "Café"
let nsStringComprimento = (texto as NSString).length
print("NSString comprimento: \(nsStringComprimento)")
// Saída: NSString comprimento: 4

Note que o NSString conta o caractere “é” como dois caracteres (codificação UTF-16), enquanto String no Swift conta corretamente como um.

Importante: .count no Swift executa em tempo linear com o número de caracteres Unicode, porque ele percorre toda a string para fazer a contagem correta, considerando todos os grapheme clusters como um único caractere visível.

Veja Também