Remover números da string em Python
-
Remova os números da string usando o método
string.join()
em Python -
Remova números da string em Python usando o método
string.translate()
-
Remova números da string em Python usando o método
re.sub()
Este tutorial examinará vários métodos para remover os números ou dígitos da string em Python. Normalmente removemos números dos dados no Processamento de Linguagem Natural durante o processo de Limpeza de Dados.
Suponha que temos uma string abcd1234efg567
e queremos remover os dígitos da string para obter uma string como abcdefg
. Podemos remover os números da string em Python usando os seguintes métodos:
Remova os números da string usando o método string.join()
em Python
O método string.join(iterable)
pega um objeto iterável iterable
como entrada, junta seus elementos usando o valor da string
como um separador e retorna a string resultante como uma saída.
Para remover números da string, iremos primeiro iterar através da string e selecionar valores não-dígitos, passá-los para o método string.join()
para juntá-los e obter a string resultante com caracteres não-dígitos como saída.
O código de exemplo a seguir demonstra como usar o método string.join()
para remover os números da string em Python.
string = "abcd1234efg567"
newstring = "".join([i for i in string if not i.isdigit()])
print(newstring)
Resultado:
abcdefg
Remova números da string em Python usando o método string.translate()
O método string.translate(map)
no Python 2, pega uma tabela de mapeamento ou dicionário como entrada e retorna a string após substituir os caracteres especificados pelos caracteres definidos na tabela de mapeamento de entrada ou dicionário.
O código de exemplo a seguir demonstra como usar o método string.translate()
para remover os números da string no Python 2.
from string import digits
string = "abcd1234efg567"
newstring = string.translate(None, digits)
print(newstring)
Resultado:
abcdefg
No Python 3, o string.translate(table)
leva a tabela de tradução como entrada em vez da tabela de mapeamento ou dicionário, como no Python 2. Portanto, precisamos usar o método str.maketrans()
para obter um tabela de tradução para usá-lo como uma entrada para o método string.translate()
.
O código de exemplo a seguir demonstra como usar os métodos string.translate()
e str.maketrans()
para remover os números da string no Python 3:
from string import digits
string = "abcd1234efg567"
table = str.maketrans("", "", digits)
newstring = string.translate(table)
print(newstring)
Resultado:
abcdefg
Remova números da string em Python usando o método re.sub()
O re.sub(pattern, replace, string)
leva a string
como entrada e retorna a string substituindo as ocorrências não sobrepostas da string pattern
(descrita como uma expressão regular) pelo valor replace
na corda.
A expressão regular para dígitos é [0-9]+
. Precisamos apenas passar isso como o argumento pattern
e ''
como replace
para remover os números da string
de entrada usando o método re.sub()
.
O código de exemplo a seguir demonstra como usar o método re.sub()
para remover números da string:
import re
string = "abcd1234efg567"
newstring = re.sub(r"[0-9]+", "", string)
print(newstring)
Resultado:
abcdefg