我正在尝试从python中的字符串中分隔一个数字。基本上我想要它,所以如果颜色=='灰色'+一个数字,那么它将返回该数字。例如,如果颜色等于'grey23',它将返回23.如果颜色等于'gray',它将触发else语句。
伪代码:
# = an int
def func (color):
if color == 'gray' and a # :
return int(#)
else:
print 'pass'
答案 0 :(得分:4)
import re
def func (color):
try:
return int(re.search('(\d+)$',color).group(0)))
except AttributeError:
print 'pass'
答案 1 :(得分:2)
您可以使用regular expressions:
import re
matches = re.match('\w+(\d+)', color)
result = matches.groups()
if(len(result) > 0):
return result[0]
else:
return 'pass'
未经测试,因此可能包含错误,但这是基本要点。
答案 2 :(得分:1)
if color.startswith("grey") and color[4:].isdigit():
return int(color[4:])
else:
return 'pass'
color[4:]
可以用硬编码值4更通用的东西代替,但是“灰色”(或“灰色” - 你同时使用它们)是硬编码的,似乎没有问题。