String within a model in python?

-1

The user enters a string: 'a123' I want the program to identify if this string is in the template a%d , where% d is any number. I need to identify the number as well.

    
asked by anonymous 24.03.2018 / 17:28

1 answer

0

If the user has little freedom of entry, you can get rid of "a" and test if the rest of the string converts to number.

texto = "a123"
outro = texto.replace("a","") #substitui 'a' por nada
if outro.isdecimal(): #verificando se a string representa um número
    print("A string {} é um número".format(outro))

If you're not sure what size of mess the user's input will be, you'll have to work with regex . In python the library used is re . This site is a good resource for learning how to use regex and to test your search at the same time. Remember to select the Python language on the left-hand side.

import re
palavra = 'a123'
busca = 'a\d+' #vamos buscar a letra 'a' seguida de um ou mais dígitos
try:
    resultado = re.search(busca,palavra).group()
except: # caso sua busca não esteja na palavra
    print("A string não está no formato aceito")
else: 
    busca = '\d+' # agora queremos só os dígitos
    numero = re.search(busca,palavra)
    print(" O número é {}".format(numero)) # a variavel número é uma string, para usá-la como número use int() ou eval()
    
27.03.2018 / 00:37