python判断字符串中是否只有中文字符

import re

def find_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

def remove_punctuation(line):
    """去掉中英文字符"""
    rule = re.compile(r"[^a-zA-Z0-9\u4e00-\u9fa5]")
    line = rule.sub('',line)
    return line

def is_all_zh(s):
    """查询字符串中是否含有中文"""
    s = remove_punctuation(s)
    for c in s:
        if not ('\u4e00' <= c <= '\u9fa5'):
            return False
    return True

temp_strs = "你好啊"
res = is_all_zh(temp_strs)
dict_res = find_char_kind(temp_strs)
print(dict_res)

猜你喜欢

转载自blog.csdn.net/TFATS/article/details/109159467