我在python中检查一个数字的字符串。我使用了is_digit()方法,但看起来不像它有效。 这是我的字符串302 E 34th 101 所以我想检查字符串的最后一次拆分是否为数字,如果为真,则将其剪切并分配给一个值。 这是我的代码
if split("302 E 34th 101")[-1].is_digit():
digit=split("302 E 34th 101")[-1]
这似乎没有按预期工作,因为它不会返回结果。 有谁知道最好的方法吗?也许使用正则表达式? 提前谢谢。
答案 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]
答案 2 :(得分:0)
如果您总是想根据空白进行检查,可以rsplit
或rfind
:
s = "302 E 34th 101"
print(s[s.rfind(" "):].isdigit())
print(s.rsplit(None,1)[-1].isdigit())