Strings com Letras, Números e/ou Caracteres Especiais

Neste tutorial de nosso Curso de Python, vamos aprender a detectar a composição de strings, ou seja, se tem letras, números, os dois, tabulação, espaço vazio ou caracteres especiais.

Leia também:

É tudo letra? isalpha()


O método isalpha() retorna True se todas as letras de uma string forem letras.
Ou seja, se tiver algum número ou caractere especial.

Ela também retorna False se estiver vazia.

O código a seguir pede uma string ao usuário e diz se é tudo letra ou misturado:

while True:
 texto = input("Digite uma string: ")

 if texto.isalpha():
  print("Tudo letra")
 else:
  print("Nem tudo é letra")

É tudo número ? isdecimal()

Já a isdecimal() retorna True se tudo for número.

Se tiver alguma letra, caractere especial ou a string for vazia, retorna False.
O código abaixo identifica se é tudo letra, tudo número ou misturado:

while True:
 texto = input("Digite uma string: ")

 if texto.isalpha():
  print("Tudo tudo letra")
 elif texto.isdecimal():
  print("Tudo numero")
 else:
  print("Misturado, vazio ou caractere especial")

Letras e Números ? isalnum()

Essa retorna True se for composta somente por letras e números.




Retorna False se for vazia ou tiver algum caractere especial.
O código abaixo diz se sua string é tudo número, tudo letra, letra e número ou tem caractere especial ou vazia:

while True:
 texto = input("Digite uma string: ")

 if texto.isalpha():
  print("Tudo tudo letra")
 elif texto.isdecimal():
  print("Tudo numero")
 elif texto.isalnum():
  print("Numeros e letras")
 else:
  print("Vazia ou caractere especial")

Só espaço, tabulação ou quebra de linha: isspace()

Já o método isspace() só retorna True se tivermos espaço em branco, tabulação ou quebra de linha.

Retorna False caso contrário ou a string seja vazia.




while True:
 texto = input("Digite uma string: ")

 if texto.isalpha():
  print("Tudo tudo letra")
 elif texto.isdecimal():
  print("Tudo numero")
 elif texto.isalnum():
  print("Numeros e letras")
 elif texto.isspace():
  print("Composto so de espaço, e/ou tabulação e/ou quebra de linha")
 else:
  print("Vazia ou caractere especial")


Certamente você já viu algum formulário ou programa que pede somente determinados tipos de caracteres. Por exemplo, no campo de nome, devemos receber apenas letras.

Já no campo CPF ou data, podemos usar o conhecimento deste tutorial para pedir e detectar se a pessoa digitou apenas números.

Em alguns tipos de cadastro de senha, precisamos fornecer tanto letras como números e de preferência algum caractere especial. Podemos 'tratar' e analisar a entrada do usuário com os métodos vistos hoje.

Nenhum comentário:

Postar um comentário