Faça uma função que, dada uma frase, retorne a frase onde todos os caracteres de pontuação (incluindo travessão, vírgula, dois pontos, ponto e vírgula, além da pontuação de encerramento de frase) tenham sido substituídos por espaço.
Passo 1
Então, o que a gente tem aqui é um exercício de programação. A gente precisa criar uma função que, recebendo uma frase, vai substituir todos os caracteres de pontuação por espaços. Isso inclui coisas como vírgulas, pontos, dois pontos, ponto e vírgula, travessões e outros sinais que normalmente terminam uma frase. Para resolver isso, vamos precisar trabalhar com manipulação de strings, ou seja, trabalhar com o texto dentro da programação.
Passo 2
Primeiro, vamos pensar em quais caracteres de pontuação queremos substituir por espaços. A lista inclui:
- Vírgula (,)
- Ponto (.)
- Dois pontos (😃
- Ponto e vírgula (😉
- Travessão (—)
- Exclamação (!)
- Interrogação (?)
- Aspas (" ")
- Parênteses ( () )
- Outros que a gente imaginar
Passo 3
Agora, vamos pensar em como substituir esses caracteres por espaços. Uma maneira eficiente de fazer isso em Python é usando a biblioteca
re
, que lida com expressões regulares. As expressões regulares nos permitem identificar padrões específicos no texto, como todos os sinais de pontuação, e substituí-los facilmente.Passo 4
Vamos criar a função passo a passo:
- Importar a biblioteca
re
: Isso nos dá acesso às funções de expressão regular. - Definir a função: Vamos chamar a função de
substituir_pontuacao
. - Criar um padrão de pontuação: Usaremos uma expressão regular que identifica todos os caracteres de pontuação que queremos substituir.
- Usar
re.sub
para substituir: Essa função substitui todas as ocorrências do padrão por espaço. - Retornar a frase modificada.
Passo 5
Aqui está o código completo da função:
import re
def substituir_pontuacao(frase):
# Define o padrão com todos os caracteres de pontuação que queremos substituir
padrao = r'[.,:;!?—"\'()]'
# Substitui todos os caracteres de pontuação por espaço
frase_sem_pontuacao = re.sub(padrao, ' ', frase)
return frase_sem_pontuacao
Resposta
A função
substituir_pontuacao
recebe uma frase e retorna a mesma frase com todos os caracteres de pontuação substituídos por espaços. Por exemplo:frase = "Olá, mundo! Como vai você?"
print(substituir_pontuacao(frase))
Saída:
Olá mundo Como vai você