Case e Trim
Parte da seção Lógica e Fluxo do Journey de Swift da Coddy — lição 2 de 56.
Os métodos de capitalização retornam novas strings, eles não modificam a original. Use-os no texto que vem do usuário antes de compará-lo.
let raw = " Hello World "
print(raw.uppercased()) // " HELLO WORLD "
print(raw.lowercased()) // " hello world "Para remover espaços em branco no início e no fim, use trimmingCharacters(in:) do Foundation (já importado nesta plataforma):
let cleaned = raw.trimmingCharacters(in: .whitespaces)
print(cleaned) // "Hello World"
print(cleaned.count) // 11.whitespaces abrange espaços e tabulações. Use .whitespacesAndNewlines quando a entrada puder conter um \n ao final.
Desafio
InicianteLeia duas linhas de entrada. Trate ambas como strings para comparar sem diferenciar maiúsculas de minúsculas, ignorando espaços em branco ao redor. Imprima:
matchquando as versões limpas e em letras minúsculas forem iguais, caso contráriodiffer- A versão limpa (sem espaços) da primeira linha em letras maiúsculas
Para a entrada Hello World na primeira linha e HELLO world na segunda, a saída é:
match
HELLO WORLDFolha de consulta
Métodos de caixa de string retornam novas strings (original inalterada):
str.uppercased() // "hello" → "HELLO"
str.lowercased() // "HELLO" → "hello"Remova espaços em branco no início/fim com trimmingCharacters(in:):
let cleaned = raw.trimmingCharacters(in: .whitespaces) // espaços e tabulações
let cleaned = raw.trimmingCharacters(in: .whitespacesAndNewlines) // inclui \nExperimente você mesmo
let a = readLine()!
let b = readLine()!
// TODO: remover espaços + converter para minúsculas para comparar; imprimir match/differ e depois o a sem espaços e em maiúsculas
Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.
Todas as lições de Lógica e Fluxo
1Strings a Fundo
Contagem e ÍndicesCase e TrimBusca em StringsDivisão e JunçãoSubstituindo SubstringsRecapitulação - Verificação de Nome de Usuário4Conjuntos
Criando ConjuntosUnião e InterseçãoSubtração e Diferença SimétricaSubconjunto e SuperconjuntoRecapitulação - Filtro de Tags7Projeto - Monitor de Hábitos
Visão Geral do ProjetoMarcar como Concluído10Projeto - Mecanismo de Quiz
Visão Geral do ProjetoFazer Perguntas2Intervalos e Strides
Fechado vs Meio-AbertoStrideMétodos de IntervaloIntervalos no SwitchRecapitulação - Grade de Calendário5Funções de Ordem Superior Parte 1
MapFilterReduceEncadeando map, filter, reduceRecapitulação - Estatísticas de Palavras