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)
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值