检查字符串是否包含python中的数字

时间:2016-01-07 18:56:13

标签: python regex

我在python中检查一个数字的字符串。我使用了is_digit()方法,但看起来不像它有效。 这是我的字符串302 E 34th 101 所以我想检查字符串的最后一次拆分是否为数字,如果为真,则将其剪切并分配给一个值。 这是我的代码

if split("302 E 34th 101")[-1].is_digit():
  digit=split("302 E 34th 101")[-1]

这似乎没有按预期工作,因为它不会返回结果。 有谁知道最好的方法吗?也许使用正则表达式? 提前谢谢。

3 个答案:

答案 0 :(得分:5)

您似乎正在使用自定义split功能,该功能无法正确拆分字符串。相反,您可以使用str.split方法并使用isdigit()来验证数字格式:

>>> s.split()[-1]
'101'
>>> s.split()[-1].isdigit()
True

答案 1 :(得分:1)

这不是你在python中分裂的方式。您需要像这样调用字符串对象上的方法:

if "302 E 34th 101".split()[-1].isdigit():
    digit = "302 E 34th 101".split()[-1]

Here's a link to the docs

答案 2 :(得分:0)

如果您总是想根据空白进行检查,可以rsplitrfind

s = "302 E 34th 101"
print(s[s.rfind(" "):].isdigit())

print(s.rsplit(None,1)[-1].isdigit())