import re
deffind_char_kind(strs):"""查找字符串中的英文字符.中文字符.数字"""
s = strs
char = re.findall(r'[a-z]',s)
bigchar= re.findall(r'[A-Z]',s)
num = re.findall(r'[0-9]',s)
blank = re.findall(r' ',s)#\u4E00-\u9FFF是中文的范围
chi = re.findall(r'[\u4E00-\u9FFF]',s)
other =len(s)-len(char)-len(bigchar)-len(num)-len(blank)-len(chi)
dict_char_kind ={"lowwer_char":char,"cap_char":bigchar,"num":num,"space":blank,"china_char":chi,"other_len":other}return dict_char_kind
defremove_punctuation(line):"""去掉中英文字符"""
rule = re.compile(r"[^a-zA-Z0-9\u4e00-\u9fa5]")
line = rule.sub('',line)return line
defis_all_zh(s):"""查询字符串中是否含有中文"""
s = remove_punctuation(s)for c in s:ifnot('\u4e00'<= c <='\u9fa5'):returnFalsereturnTrue
temp_strs ="你好啊"
res = is_all_zh(temp_strs)
dict_res = find_char_kind(temp_strs)print(dict_res)