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