python判断字符串包含中文_查询字符串中是否包含中文字符(Python实现)

Unicode 是全球文字统一编码。它把世界上的各种文字的每一个字符指定唯一编码,实现跨语种、跨平台的应用。

中文用户最常接触的是汉字 Unicode 编码。中文字符数量巨大,日常使用的汉字数量有数千个,再加上生僻字,数量达到数万个。下面这个表格将中文字符集的 Unicode 编码范围列出:

字符集

字数

Unicode编码范围基本汉字

20902

4E00-9FA5

基本汉字补充

74

9FA6-9FEF

扩展A

6582

3400-4DB5

扩展B

42711

20000-2A6D6

扩展C

4149

2A700-2B734

扩展D

222

2B740-2B81D

扩展E

5762

2B820-2CEA1

扩展F

7473

2CEB0-2EBE0

扩展G

4939

30000-3134A

康熙部首

214

2F00-2FD5

部首扩展

115

2E80-2EF3

兼容汉字

477

F900-FAD9

兼容扩展

542

2F800-2FA1D

PUA(GBK)部件

81

E815-E86F

部件扩展

452

E400-E5E8

PUA增补

207

E600-E6CF

汉字笔画

36

31C0-31E3

汉字结构

12

2FF0-2FFB

汉语注音

43

3105-312F

注音扩展

22

31A0-31BA

1

3007

根据上述字符范围,可以编写以下函数,识别给定字符串是否含义中文字符。

# coding=utf-8

import re

def containChinese(content):

""" 判断内容是否含有中文字符

Arguments:

content {string} -- 要检测的内容

Returns:

[bool] -- 是否包含中文

"""

zh_pattern = re.compile(

u'([\u4E00-\u9FA5]|[\u9FA6-\u9FEF]|[\u3400-\u4DB5]|[\U00020000-\U0002A6D6]|[\U0002A700-\U0002B734]|[\U0002B740-\U0002B81D]|[\U0002B820-\U0002CEA1]|[\U0002CEB0-\U0002EBE0]|[\U00030000-\U0003134A]|[\u2F00-\u2FD5]|[\u2E80-\u2EF3]|[\uF900-\uFAD9]|[\U0002F800-\U0002FA1D]|[\uE815-\uE86F]|[\uE400-\uE5E8]|[\uE600-\uE6CF]|[\u31C0-\u31E3]|[\u2FF0-\u2FFB]|[\u3105-\u312F]|[\u31A0-\u31BA]|[\u3007])+'

)

match = zh_pattern.search(content)

return match is not None

a = '中文abcs短语'

print(containChinese(a)) # True

b = 'abcd'

print(containChinese(b)) # False

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值