Remover números da string em Python

Muhammad Waiz Khan 30 janeiro 2023
  1. Remova os números da string usando o método string.join() em Python
  2. Remova números da string em Python usando o método string.translate()
  3. Remova números da string em Python usando o método re.sub()
Remover números da string em Python

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

Artigo relacionado - Python String