在Python中,如何检查字符串是否包含字母或数字?
如果这个字符串里面有字母或者数字,就返回真(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
>>>