Como tirar a pontuação a partir de uma string em Python
-
Utilizar métodos de classe
string
para tirar pontuação a partir de uma string em Python -
Utilize
regex
para tirar pontuação de uma string em Python -
Utilize
string.punctuation
para tirar pontuação de uma string em Python -
Use
replace()
para retirar a pontuação de uma string em Python
Este tutorial discute métodos para tirar a pontuação de um string em Python. É um passo especificamente útil no pré-processamento e limpeza de dados textuais para PNL.
Utilizar métodos de classe string
para tirar pontuação a partir de uma string em Python
Podemos utilizar as funções embutidas fornecidas na classe String
para tirar a pontuação de um string em Python.
str.maketrans
cria uma tabela de tradução contendo o mapeamento entre dois caracteres. Neste caso, queremos remover todas as pontuações, portanto str.maketrans('', '', string.punctuation)
cria um mapeamento de string vazia para string vazia, e pontuações para Nenhuma.
Método translate
aplica estes mapeamentos à string dada, removendo assim as pontuações. O exemplo abaixo ilustra isto.
s = "string. With. Punctuations!?"
out = s.translate(str.maketrans("", "", string.punctuation))
print(out)
Resultado:
'string With Punctuations'
O método acima remove todas as pontuações de uma determinada string de entrada.
Utilize regex
para tirar pontuação de uma string em Python
Também podemos utilizar o regex
para tirar a pontuação de um string em Python. O padrão regex [^\w\s]
captura tudo o que não é uma palavra ou espaço em branco (ou seja, as pontuações) e o substitui por uma string vazia. O exemplo abaixo ilustra isto.
import re
s = "string. With. Punctuation?"
out = re.sub(r"[^\w\s]", "", s)
print(out)
Resultado:
'string With Punctuations'
Utilize string.punctuation
para tirar pontuação de uma string em Python
É semelhante ao primeiro método discutido. O string.punctuation
contém todos os caracteres considerados pontuação em inglês. Podemos utilizar esta lista e excluir todas as pontuações de uma string. O exemplo abaixo ilustra isto.
s = "string. With. Punctuation?"
out = "".join([i for i in s if i not in string.punctuation])
print(out)
Resultado:
'string With Punctuations'
Use replace()
para retirar a pontuação de uma string em Python
Também podemos utilizar replace()
para tirar a pontuação de um string em Python. Novamente, utilizamos tring.punctuation
para definir uma lista de pontuação e depois substituímos todas as pontuações por uma string vazia para tirar as pontuações. O exemplo abaixo ilustra isso.
s = "string. With. Punctuation?"
punct = string.punctuation
for c in punct:
s = s.replace(c, "")
print(s)
Resultado:
'string With Punctuations'