检查字符串是否包含numb

2024-04-26 13:12:26 发布

您现在位置:Python中文网/ 问答频道 /正文

我发现的大多数问题都偏向于这样一个事实:他们在寻找数字中的字母,而我在寻找数字,我希望它是一个数不清的字符串。 我需要输入一个字符串并检查它是否包含任何数字,以及它是否拒绝它。

如果所有字符都是数字,函数isdigit()只返回True。我只想看看用户是否输入了一个数字 “我养了一条狗”之类的。

有什么想法吗?


Tags: 函数字符串用户true字母数字字符事实
3条回答

可以将^{}函数与^{}函数一起使用,如下所示

>>> 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

使用

str.isalpha() 

参考号:https://docs.python.org/2/library/stdtypes.html#str.isalpha

Return true if all characters in the string are alphabetic and there is at least one character, false otherwise.

您可以使用^{}^{}的组合:

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

相关问题 更多 >