能够在字符串中检测int,Python

时间:2011-02-07 07:07:30

标签: python string int

我正在尝试从python中的字符串中分隔一个数字。基本上我想要它,所以如果颜色=='灰色'+一个数字,那么它将返回该数字。例如,如果颜色等于'grey23',它将返回23.如果颜色等于'gray',它将触发else语句。

伪代码:

# = an int

def func (color):
    if color == 'gray' and a # :
        return int(#)
    else:
        print 'pass'

3 个答案:

答案 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更通用的东西代替,但是“灰色”(或“灰色” - 你同时使用它们)是硬编码的,似乎没有问题。