最新公告
  • 欢迎您光临起源地模板网,本站秉承服务宗旨 履行“站长”责任,销售只是起点 服务永无止境!立即加入钻石VIP
  • python怎么判断是不是中文字符?

    正文概述    2020-01-29   360

    python怎么判断是不是中文字符?

    python中可以通过判断字符的unicode值来判断字符是不是中文字符。

    def is_chinese(uchar):
            """判断一个unicode是否是汉字"""
            if uchar >= u'/u4e00' and uchar<=u'/u9fa5':
                    return True
            else:
                    return False
                    
    def is_number(uchar):
            """判断一个unicode是否是数字"""
            if uchar >= u'/u0030' and uchar<=u'/u0039':
                    return True
            else:
                    return False
                    
    def is_alphabet(uchar):
            """判断一个unicode是否是英文字母"""
            if (uchar >= u'/u0041' and uchar<=u'/u005a') or (uchar >= u'/u0061' and uchar<=u'/u007a'):
                    return True
            else:
                    return False
    
    def is_other(uchar):
            """判断是否非汉字,数字和英文字符"""
            if not (is_chinese(uchar) or is_number(uchar) or is_alphabet(uchar)):
                    return True
            else:
                    return False
    
    def B2Q(uchar):
            """半角转全角"""
            inside_code=ord(uchar)
            if inside_code<0x0020 or inside_code>0x7e:      #不是半角字符就返回原来的字符
                    return uchar
            if inside_code==0x0020: #除了空格其他的全角半角的公式为:半角=全角-0xfee0
                    inside_code=0x3000
            else:
                    inside_code+=0xfee0
            return unichr(inside_code)
    
    def Q2B(uchar):
            """全角转半角"""
            inside_code=ord(uchar)
            if inside_code==0x3000:
                    inside_code=0x0020
            else:
                    inside_code-=0xfee0
            if inside_code<0x0020 or inside_code>0x7e:      #转完之后不是半角字符返回原来的字符
                    return uchar
            return unichr(inside_code)
    
    def stringQ2B(ustring):
    
            """把字符串全角转半角"""
    
            return "".join([Q2B(uchar) for uchar in ustring])
    
    def uniform(ustring):
    
            """格式化字符串,完成全角转半角,大写转小写的工作"""
    
            return stringQ2B(ustring).lower()
    
    def string2List(ustring):
            """将ustring按照中文,字母,数字分开"""
            retList=[]
            utmp=[]
            for uchar in ustring:
                    if is_other(uchar):
                            if len(utmp)==0:
                                    continue
                            else:
                                    retList.append("".join(utmp))
                                    utmp=[]
                    else:
                            utmp.append(uchar)
            if len(utmp)!=0:
                    retList.append("".join(utmp))
            return retList
    
    if __name__=="__main__":
            #test Q2B and B2Q
            for i in range(0x0020,0x007F):
                    print Q2B(B2Q(unichr(i))),B2Q(unichr(i))
    
            #test uniform
    
            ustring=u'中国 人名a高频A'
    
            ustring=uniform(ustring)
    
            ret=string2List(ustring)
    
            print ret

    更多Python知识请关注Python自学网。


    起源地下载网 » python怎么判断是不是中文字符?

    常见问题FAQ

    免费下载或者VIP会员专享资源能否直接商用?
    本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
    提示下载完但解压或打开不了?
    最常见的情况是下载不完整: 可对比下载完压缩包的与网盘上的容量,若小于网盘提示的容量则是这个原因。这是浏览器下载的bug,建议用百度网盘软件或迅雷下载。若排除这种情况,可在对应资源底部留言,或 联络我们.。
    找不到素材资源介绍文章里的示例图片?
    对于PPT,KEY,Mockups,APP,网页模版等类型的素材,文章内用于介绍的图片通常并不包含在对应可供下载素材包内。这些相关商业图片需另外购买,且本站不负责(也没有办法)找到出处。 同样地一些字体文件也是这种情况,但部分素材会在素材包内有一份字体下载链接清单。
    模板不会安装或需要功能定制以及二次开发?
    请QQ联系我们

    发表评论

    还没有评论,快来抢沙发吧!

    如需帝国cms功能定制以及二次开发请联系我们

    联系作者

    请选择支付方式

    ×
    迅虎支付宝
    迅虎微信
    支付宝当面付
    余额支付
    ×
    微信扫码支付 0 元