
Passo 1 de 7
Limpar as extremidades e guardar o resultado
Use strip() para limpar as bordas de um texto e aproveite o retorno sem confundi-lo com o valor original.
Trilha de aprendizado · Nível 3 · Tutorial 3
Transformar textos com métodos de string e converter entre um texto e uma lista de partes, preservando os resultados das operações.
Limpar as extremidades e guardar o resultado
Use strip() para limpar as bordas de um texto e aproveite o retorno sem confundi-lo com o valor original. 2 min
Padronizar maiúsculas e minúsculas
Escolha lower ou upper conforme a regra da tarefa e reconheça que os espaços permanecem no resultado. 2 min
Substituir trechos com replace
Troque trechos de um texto e diferencie a substituição da limpeza das extremidades. 2 min
Dividir um texto em partes com split
Transforme uma string em uma lista de partes e entenda como a escolha do separador afeta espaços e elementos vazios. 3 min
Unir partes com join
Construa um texto a partir de uma lista de strings, escolhendo o separador e prevendo o resultado. 2 min
Combinar transformações sem perder os retornos
Combine métodos na ordem adequada e acompanhe a passagem de string para lista e de volta para string. 2 min
Aplicação final: padronizar palavras-chave
Transforme uma entrada irregular em uma lista e em um texto padronizado, preservando o original e conferindo os resultados no seu Python. 3 min

Passo 1 de 7
Use strip() para limpar as bordas de um texto e aproveite o retorno sem confundi-lo com o valor original.
texto.strip() retorna um texto sem os espaços em branco do início e do fim, incluindo tabulações e quebras de linha nessas extremidades. Os espaços entre as palavras permanecem.
Strings são imutáveis: esse método não modifica a string original. Ele retorna o resultado da limpeza.

Cada ponto representa um espaço: strip() retira os das bordas, mas preserva os internos.
Ao aplicar strip() a um texto com dois espaços entre Ana e Lima, o resultado terá apenas um espaço entre essas palavras.
Atribua o retorno a outra variável para manter a entrada disponível. Ou atribua à mesma variável para passar a usar o texto limpo.
As barras na exibição ajudam a enxergar os espaços nas bordas.
original = " Ana Lima "
limpo = original.strip()
print(f"|{original}|") # | Ana Lima |
print(f"|{limpo}|") # |Ana Lima|
# Para passar a usar o resultado na mesma variável:
original = original.strip()
print(f"|{original}|") # |Ana Lima|Dica
Escrever apenas original.strip() não atualiza a variável. Já original = original.strip() faz a variável passar a guardar o retorno; isso não modifica a string anterior.
Considere este código:
nome = " Bia "
nome.strip()
print(f"|{nome}|")Qual será a saída?

Passo 2 de 7
Escolha lower ou upper conforme a regra da tarefa e reconheça que os espaços permanecem no resultado.
lower() retorna o texto em minúsculas. upper() retorna o texto em maiúsculas. Ambos mantêm os espaços, inclusive os das extremidades.
Como no uso de strip(), guarde o retorno para aproveitar a transformação.

Cada ponto representa um espaço. Apenas as letras mudam; os espaços continuam nas mesmas posições.
Padronizar maiúsculas e minúsculas também é chamado de normalizar a caixa. Não existe uma escolha universal: uma tarefa pode exigir rótulos em maiúsculas; outra, comparar respostas em minúsculas.
Neste exemplo, a regra é comparar o status em minúsculas:
status = "AtIvO"
status_padronizado = status.lower()
print(status_padronizado) # ativo
print(status_padronizado == "ativo") # True
print(status) # AtIvODica
A comparação usa o resultado guardado. O texto original continua disponível em status.
Associe cada entrada e regra à chamada correta com seu retorno. As aspas delimitam os textos; os espaços dentro delas fazem parte do valor.
Toque em um item e depois no par correspondente.

Passo 3 de 7
Troque trechos de um texto e diferencie a substituição da limpeza das extremidades.
Use texto.replace(trecho_procurado, substituto) para trocar todas as ocorrências do trecho indicado. A busca é literal: diferencia maiúsculas de minúsculas e encontra o trecho até dentro de palavras.
Primeiro vem o trecho procurado; depois, o substituto. Guarde o retorno para aproveitar a transformação.
texto = "gato Gato gato"
resultado = texto.replace("gato", "cão")
print(resultado)
# Saída: cão Gato cãoDica
Gato ficou intacto porque não corresponde exatamente a gato. A variável texto continua com o conteúdo original.
Qual é o valor de resultado após este código?
resultado = "sol solar Sol".replace("sol", "mar")
strip() limpa os espaços em branco das extremidades. Já replace(" ", "") substitui cada espaço comum por um texto vazio: isso remove esses espaços também no interior do texto.

Cada quadrado pontilhado representa um espaço. O espaço entre as palavras só desaparece na substituição.
Os colchetes impressos ajudam a enxergar onde cada resultado começa e termina.
nome = " Ana Maria "
so_bordas = nome.strip()
sem_espacos = nome.replace(" ", "")
print(f"[{so_bordas}]")
# Saída: [Ana Maria]
print(f"[{sem_espacos}]")
# Saída: [AnaMaria]Você tem nome = " Bia Lima " e quer guardar "Bia Lima" em resultado, preservando o espaço interno. Qual linha atende à regra?

Passo 4 de 7
Transforme uma string em uma lista de partes e entenda como a escolha do separador afeta espaços e elementos vazios.
Sem argumento, split() divide o texto por sequências de espaços em branco, incluindo tabulações e quebras de linha. Espaços em branco nas extremidades não geram partes vazias.
Já split(" ") usa cada espaço comum como separador: espaços consecutivos ou nas extremidades geram strings vazias (''). Veja a diferença na mesma entrada:
texto = " sol lua "
palavras = texto.split()
partes = texto.split(" ")
print(palavras) # ['sol', 'lua']
print(partes) # ['', 'sol', '', 'lua', '']
Cada cartão representa um elemento da lista. Um cartão com '' representa uma string vazia, não um espaço.
Considere texto = " mar céu ": há um espaço em cada extremidade e três entre as palavras.
A lista retornada por texto.split(" ") contém ____ elementos iguais a ''.
Responda com um número.
O separador pode ser uma vírgula, um ponto e vírgula ou uma sequência como "::". O texto é dividido onde essa sequência aparece, e o separador não entra nas partes resultantes.
Separadores consecutivos ou nas extremidades geram strings vazias. Espaços que não pertencem ao separador continuam nas partes.
texto = "uva, pera,,"
frutas = texto.split(",")
print(frutas) # ['uva', ' pera', '', '']
outro_texto = "::uva::pera::"
outras_partes = outro_texto.split("::")
print(outras_partes) # ['', 'uva', 'pera', '']Dica
Em split(","), só a vírgula é o separador: o espaço em ' pera' é preservado. Guarde a lista retornada; a string de origem continua igual.
Considere entrada = "azul; verde;;".
Você precisa separar pelos pontos e vírgulas, preservando o espaço antes de verde e as partes vazias.
Qual chamada de split usaria? Escreva também a lista resultante e explique por que não usaria split() sem argumento.
Escreva pelo menos 20 caracteres (0/20).

Passo 5 de 7
Construa um texto a partir de uma lista de strings, escolhendo o separador e prevendo o resultado.
Com join, você transforma uma lista de strings em uma única string. A chamada é feita no separador: separador.join(lista).
O separador entra apenas entre os elementos, nunca antes do primeiro ou depois do último. Guarde o retorno para usar o texto produzido; a lista de origem não é modificada.
partes = ["sol", "mar", "céu"]
texto = " | ".join(partes)
print(texto) # sol | mar | céu
print(partes) # ['sol', 'mar', 'céu']
O separador inteiro é inserido em cada intervalo: espaço, barra vertical e espaço.
Dada a lista cores = ["azul", "verde", "rosa"], qual opção armazena exatamente azul, verde, rosa em texto?
O separador pode ter pontuação, ser um espaço ou ser uma string vazia (""), que junta as partes sem inserir caracteres.
Dividir e depois unir não garante recuperar a formatação original: o novo separador determina como as partes serão conectadas.
partes = ["a", "b", "c"]
print(" ".join(partes)) # a b c
print("-".join(partes)) # a-b-c
print("".join(partes)) # abc
entrada = "sol,mar,céu"
palavras = entrada.split(",")
resultado = " / ".join(palavras)
print(resultado) # sol / mar / céuAtenção
join não converte números automaticamente. "-".join(["item", 3]) gera um erro do tipo TypeError. Para unir esses valores, você pode escrever "-".join(["item", str(3)]), que retorna "item-3".
O que acontece ao executar texto = " / ".join(["relatório", 2025])?

Passo 6 de 7
Combine métodos na ordem adequada e acompanhe a passagem de string para lista e de volta para string.
No encadeamento, cada método atua sobre o resultado do anterior. Em texto.lower().replace("rio", "mar"), primeiro o texto fica em minúsculas; depois, a substituição procura "rio" nesse resultado. Atribua a expressão a uma variável para guardar o retorno final.
texto = "RIO AZUL"
primeiro = texto.lower().replace("rio", "mar")
segundo = texto.replace("rio", "mar").lower()
print(primeiro) # mar azul
print(segundo) # rio azulDica
Na segunda sequência, replace procura "rio" quando o texto ainda contém "RIO". A conversão posterior para minúsculas não refaz a substituição.
Com texto = "OLA, ANA", qual opção guarda "oi, ana" em resultado?
Variáveis intermediárias ajudam a enxergar cada resultado. Para normalizar espaços internos, use split() sem separador e depois " ".join(partes): as palavras ficam separadas por um único espaço, sem espaços nas extremidades.
original = " RIO AZUL "
etapa = original.lower().replace("rio", "mar")
partes = etapa.split()
resultado = " ".join(partes)
print(partes) # ['mar', 'azul']
print(resultado) # mar azul![Fluxo: etapa é uma string com espaços excedentes; split() produz a lista ['mar', 'azul']; join com um espaço produz a string 'mar azul'.](https://cursa-json-routes.s3.amazonaws.com/learning-paths/pt/python/b730454e0225/level-03/tutorial-03/step-06/screen-03/item-03.webp)
O retorno de split é uma lista; o retorno de join volta a ser uma string.
Atenção
original.split().lower() causa erro: depois de split(), o resultado é uma lista, que não tem o método lower. Aplique lower enquanto o valor ainda for string. Para unir a lista, chame join no separador.
Considere entrada = " SOL GUIA ". Ordene as linhas para guardar "estrela guia" em resultado, preservando entrada.

Passo 7 de 7
Transforme uma entrada irregular em uma lista e em um texto padronizado, preservando o original e conferindo os resultados no seu Python.
No Python do seu computador, complete o código abaixo substituindo cada ___ por uma expressão.
Regras: preserve entrada; remova os espaços das extremidades; converta para minúsculas; troque cada ; por um espaço; divida sem separador explícito; una as partes com ", " (vírgula e espaço).
Cada palavra-chave é uma palavra sem espaços internos. Mantenha a ordem e as repetições. Ao terminar, execute o código e confira as três linhas exibidas.

Guarde os retornos em outras variáveis: o original fica disponível para conferência.
Os marcadores ___ precisam ser substituídos antes da execução. Os comentários indicam o que cada linha deve produzir.
entrada = " PyThOn ; DADOS; web ;python "
limpo = ___ # Remova as extremidades de entrada.
minusculo = ___ # Converta limpo para minúsculas.
separado = ___ # Troque ; por um espaço em minusculo.
palavras = ___ # Divida separado sem informar separador.
final = ___ # Una palavras com vírgula e espaço.
print(f"Original: [{entrada}]")
print(palavras)
print(final)Após executar o código no seu computador, relate a lista e o texto final exibidos. A primeira linha ainda mostra a entrada com a caixa e os espaços originais? Explique por quê.
Se algo saiu diferente, descreva a diferença e compare com a solução na próxima tela.
Escreva pelo menos 30 caracteres (0/30).
Compare as expressões com as suas. Se necessário, ajuste o código local e execute novamente.
entrada = " PyThOn ; DADOS; web ;python "
limpo = entrada.strip()
minusculo = limpo.lower()
separado = minusculo.replace(";", " ")
palavras = separado.split()
final = ", ".join(palavras)
print(f"Original: [{entrada}]")
print(palavras)
print(final)Os colchetes na primeira linha são apenas marcadores adicionados pelo print para deixar os espaços das extremidades visíveis.
Original: [ PyThOn ; DADOS; web ;python ]
['python', 'dados', 'web', 'python']
python, dados, web, pythonDica
Apareceram ; nas palavras? Confira o replace. Surgiram elementos '' na lista? Use split(), não split(" "). A entrada perdeu sua formatação? Confira se você atribuiu algum retorno a entrada em vez de usar outra variável.
Resumo
Escolha o método pela transformação desejada e aproveite o retorno.
Parabéns! Você concluiu: Dividir, unir e normalizar textos
Milhares de cursos online em vídeo, ebooks e áudiobooks.
Para testar seus conhecimentos no decorrer dos cursos online
Gerado diretamente na galeria de fotos do seu celular e enviado ao seu e-mail
Baixe nosso aplicativo pelo QR Code ou pelos links abaixo:.
+ de 10 milhões
de alunos
Certificado grátis e
válido em todo o Brasil
60 mil exercícios
gratuitos
4,8/5 classificação
nas lojas de apps
Cursos gratuitos em
vídeo, ebooks e audiobooks