String inside a model in python?

Asked

Viewed 46 times

-1

User enters with a string:'a123' I want the program to identify if this string is in the model a%d, where %d is any number. I need to identify the number too.

1 answer

0

If the user has little freedom of entry, you can get rid of "a" and test whether 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 are not sure of the size of the mess that will be the user input, you will have to work with regex. In python the used library is re. This site is a good resource to learn how to use regex and to test your search at the same time. Remember to select the Python language in the left tab.

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()

Browser other questions tagged

You are not signed in. Login or sign up in order to post.