如何在python中检查字符串是否只包含[数字或特殊字符]

2024-06-16 11:15:44 发布

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

我想区分两个python字符串2015-07-012015-Jul-01

Case 1: Digits OR Special characters

Case 2: Everything else (characters)

我知道isdigit()函数,但它只识别数字,不识别特殊字符。

我说的特殊字符是指连字符或斜线/


Tags: or函数字符串数字字符elsejul区分
3条回答

你可以检查字符串是否有字母。

bool(re.search('[a-zA-Z]', the_string))

可以使用正则表达式检查字符串是否只包含数字、连字符或斜杠。

>>> bool(re.match('[\d/-]+$', '2015-07-01'))
True
>>> bool(re.match('[\d/-]+$', '2015-Jul-01'))
False

这里不需要^锚,因为match从字符串的开头开始。

或者,使用all而不使用regex:

>>> from string import digits
>>> allowed = set(digits).union('/-')
>>> all(c in allowed for c in '2015-07-01')
True
>>> all(c in allowed for c in '2015-Jul-01')
False

假设data是一个字符串,并且您希望检查其中是否没有“字母”字符。。

if not any(c.isalpha() for c in data):
   print('The string contains no letters')

相关问题 更多 >