在Python中,如何检查字符串是否包含字母或数字?

7 投票
4 回答
38844 浏览
提问于 2025-04-16 21:24

如果这个字符串里面有字母或者数字,就返回真(true)。否则,就返回假(false)。

我这样做对吗?

return re.match('[A-Z0-9]',thestring)

4 个回答

2

这可能需要一点时间,但如果你想检查一个字符串里是否至少有一个字母或数字,我们可以用下面的方式:

re.match('.*[a-zA-Z0-9].*', yourstring)

5

如果你想检查字符串中的所有字符是否都是字母或数字:

  • string.isalnum()(正如@DrTyrsa提到的),或者
  • bool(re.match('[a-z0-9]+$', thestring, re.IGNORECASE))

如果你想检查字符串中是否至少有一个字母或数字:

import string
alnum = set(string.letters + string.digits)
len(set(thestring) & alnum) > 0

或者

bool(re.search('[a-z0-9]', thestring, re.IGNORECASE))

18

使用 thestring.isalnum() 这个方法。

>>> '123abc'.isalnum()
True
>>> '123'.isalnum()
True
>>> 'abc'.isalnum()
True
>>> '123#$%abc'.isalnum()
>>> a = '123abc' 
>>> (a.isalnum()) and (not a.isalpha()) and (not a.isnumeric())
True
>>> 

撰写回答