I'm trying to seperate a number from a string in python. Basically I want it so if color == 'gray' + a number, then it will return that number. For example if color equaled 'grey23', it would return 23. If color eq开发者_运维百科ualed 'grey', it would trigger the else statement.
pseudo code:
# = an int
def func (color):
if color == 'gray' and a # :
return int(#)
else:
print 'pass'
import re
def func (color):
try:
return int(re.search('(\d+)$',color).group(0)))
except AttributeError:
print 'pass'
You can use regular expressions for that:
import re
matches = re.match('\w+(\d+)', color)
result = matches.groups()
if(len(result) > 0):
return result[0]
else:
return 'pass'
Not tested, so it could contain errors, but this is the basic gist.
if color.startswith("grey") and color[4:].isdigit():
return int(color[4:])
else:
return 'pass'
color[4:]
could be replaced by something more generic han the hardcoded value 4, but as "grey" (or "gray" - you use both) is hardcoded there seemed no problem with this.
精彩评论