[英] Check if a string contains a number
我发现的大多数问题都偏向于这样一个事实:他们在寻找数字中的字母,而我在寻找我想成为数不清的字符串中的数字.
如果所有字符都是数字,则函数isdigit()
仅返回True
.我只想看看用户是否输入了一个数字,比如"I own 1 dog"
之类的句子.
有什么想法吗?
我发现的大多数问题都偏向于这样一个事实:他们在寻找数字中的字母,而我在寻找我想成为数不清的字符串中的数字.
如果所有字符都是数字,则函数isdigit()
仅返回True
.我只想看看用户是否输入了一个数字,比如"I own 1 dog"
之类的句子.
有什么想法吗?
你可以使用any
函数和str.isdigit
函数,就像这样
>>> def has_numbers(inputString):
... return any(char.isdigit() for char in inputString)
...
>>> has_numbers("I own 1 dog")
True
>>> has_numbers("I own no dog")
False
或者,您也可以使用正则表达式,如下所示
>>> import re
>>> def has_numbers(inputString):
... return bool(re.search(r'\d', inputString))
...
>>> has_numbers("I own 1 dog")
True
>>> has_numbers("I own no dog")
False