Remover caracteres não alfanuméricos da string Python

Shivam Arora 30 janeiro 2023
  1. Use o método isalnum() para remover todos os caracteres não alfanuméricos na string Python
  2. Use a função filter() para remover todos os caracteres não alfanuméricos na string Python
  3. Use expressões regulares para remover todos os caracteres não alfanuméricos na string Python
Remover caracteres não alfanuméricos da string Python

Os caracteres alfanuméricos contêm a mistura dos 26 caracteres do conjunto de letras e os números de 0 a 9. Os caracteres não alfanuméricos incluem os caracteres que não são letras ou dígitos, como + e @.

Neste tutorial, discutiremos como remover caracteres não alfanuméricos de uma string em Python.

Use o método isalnum() para remover todos os caracteres não alfanuméricos na string Python

Podemos usar o método isalnum() para verificar se um determinado caractere ou string é alfanumérico ou não. Podemos comparar cada caractere individualmente a partir de uma string e, se for alfanumérico, combinamos com a função join().

Por exemplo,

string_value = "alphanumeric@123__"
s = "".join(ch for ch in string_value if ch.isalnum())
print(s)

Resultado:

alphanumeric123

Use a função filter() para remover todos os caracteres não alfanuméricos na string Python

A função filter() é usada para construir um iterador a partir de componentes do objeto iterável e filtra os elementos do objeto usando uma função.

Para nosso problema, a string é nosso objeto, e usaremos a função isalnum(), que verifica se uma determinada string contém caracteres alfanuméricos ou não, verificando cada caractere. A função join() combina todos os caracteres para retornar uma string.

Por exemplo,

string_value = "alphanumeric@123__"
s = "".join(filter(str.isalnum, string_value))
print(s)

Resultado:

alphanumeric123

Este método não funciona com Python 3.

Use expressões regulares para remover todos os caracteres não alfanuméricos na string Python

Uma expressão regular é um agrupamento excepcional de caracteres que ajuda a combinar diferentes strings ou conjuntos de strings, utilizando uma sintaxe específica em um padrão. Para usar expressões regulares, importamos o módulo re.

Podemos usar a função sub() deste módulo para substituir toda a string que corresponde a um caractere não alfanumérico por um caractere vazio.

Por exemplo,

import re

string_value = "alphanumeric@123__"
s = re.sub(r"[\W_]+", "", string_value)
print(s)

Resultado:

alphanumeric123

Como alternativa, também podemos usar o seguinte padrão.

import re

string_value = "alphanumeric@123__"
s = re.sub(r"[^a-zA-Z0-9]", "", string_value)
print(s)

Resultado:

alphanumeric123

Artigo relacionado - Python String