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