Remover caracteres não alfanuméricos da string Python
-
Use o método
isalnum()
para remover todos os caracteres não alfanuméricos na string Python -
Use a função
filter()
para remover todos os caracteres não alfanuméricos na string Python - Use expressões regulares para remover todos os caracteres não alfanuméricos na 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