正则是个好东西。
re里面的功能太多太杂,为了简单方便,统一只记一个函数:findall()
import re
mystr = "hahaAAA哈哈123./!#"
str1 = ''.join(re.findall('[\u4e00-\u9fa5]',mystr)) # 只保留汉字
print(str1)
str2 = ''.join(re.findall('[a-z]',mystr)) # 只保留小写字母
print(str2)
str3 = ''.join(re.findall('[0-9]',mystr)) # 只保留数字
print(str3)
str4 = ''.join(re.findall('[a-zA-Z0-9]',mystr)) # 只保留字母和数字
print(str4)
str5 = ''.join(re.findall('[^\u4e00-\u9fa5^a-z^A-Z^0-9]',mystr))
# 只保留除了汉字、字母、数字以外的字符
print(str5)