Python unicode中文字符串isalpha()\isalnum()返回True怎么理解,,例如:s = u"中国"


例如:

s = u"中国"print s.isalpha()

输出竟然为True. 这是什么原因?
那么想判断字符串是否只有字母组成出了正则,还有什么好方法?

对于unicode string,string.isalpha会根据字符串中的字符是否属于Unicode编码的LETTER区域来判断是否都由字母组成。所以得出的结果为True,不一定表示只有26个英文字母。

正则表达式应该是最简单的方法了。

当然你也可以:

def isAlpha(word):    try:        return word.encode('ascii').isalpha()    except UnicodeEncodeError:        return Falses = u"中国"isAlpha(s)

编橙之家文章,

评论关闭