如何检查一个字符串是否包含数字?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (32)

我发现的大多数问题都偏向于他们正在寻找数字中的字母,而我正在寻找数字来表达我想成为无数字符串的数字。函数isdigit()只在所有字符都是数字时才返回true。我只想看看用户是否输入了数字?

提问于
用户回答回答于

代码:

>>> def hasNumbers(inputString):
...     return any(char.isdigit() for char in inputString)
... 
>>> hasNumbers("I own 1 dog")
True
>>> hasNumbers("I own no dog")
False

或者,你可以使用正则表达式,就像这样:

>>> import re
>>> def hasNumbers(inputString):
...     return bool(re.search(r'\d', inputString))
... 
>>> hasNumbers("I own 1 dog")
True
>>> hasNumbers("I own no dog")
False
用户回答回答于

你可以使用组合anystr.isdigit

def num_there(s):
    return any(i.isdigit() for i in s)

True如果字符串中存在数字,该函数将返回,否则返回False

演示:

>>> king = 'I shall have 3 cakes'
>>> num_there(king)
True
>>> servant = 'I do not have any cakes'
>>> num_there(servant)
False

所属标签

可能回答问题的人

  • 嗨喽你好

    7 粉丝480 提问8 回答
  • uncle_light

    5 粉丝518 提问6 回答
  • 人生的旅途

    10 粉丝484 提问6 回答
  • 富有想象力的人

    3 粉丝0 提问6 回答

扫码关注云+社区

领取腾讯云代金券