例如:
s = u"中国" print s.isalpha()
输出竟然为True. 这是什么原因? 那么想判断字符串是否只有字母组成出了正则,还有什么好方法?
认证高级PHP讲师
对于unicode string,string.isalpha会根据字符串中的字符是否属于Unicode编码的LETTER区域来判断是否都由字母组成。所以得出的结果为True,不一定表示只有26个英文字母。
string.isalpha
正则表达式应该是最简单的方法了。
当然你也可以:
def isAlpha(word): try: return word.encode('ascii').isalpha() except UnicodeEncodeError: return False s = u"中国" isAlpha(s)
对于unicode string,
string.isalpha
会根据字符串中的字符是否属于Unicode编码的LETTER区域来判断是否都由字母组成。所以得出的结果为True,不一定表示只有26个英文字母。正则表达式应该是最简单的方法了。
当然你也可以: