Python实现检测字符串是否全为汉字(含生僻字)
1. 中文汉字Unicode 编码表
序号 | 字符集 | 字数 | Unicode 编码范围 |
---|---|---|---|
1 | 基本汉字 | 20902 | 4E00-9FA5 |
2 | 基本汉字补充 | 74 | 9FA6-9FEF |
3 | 扩展A | 6582 | 3400-4DB5 |
4 | 扩展B | 42711 | 20000-2A6D6 |
5 | 扩展C | 4149 | 2A700-2B734 |
6 | 扩展D | 222 | 2B740-2B81D |
7 | 扩展E | 5762 | 2B820-2CEA1 |
8 | 扩展F | 7473 | 2CEB0-2EBE0 |
9 | 康熙部首 | 214 | 2F00-2FD5 |
10 | 部首扩展 | 115 | 2E80-2EF3 |
11 | 兼容汉字 | 477 | F900-FAD9 |
12 | 兼容扩展 | 542 | 2F800-2FA1D |
13 | PUA(GBK)部件 | 81 | E815-E86F |
14 | 部件扩展 | 452 | E400-E5E8 |
15 | PUA增补 | 207 | E600-E6CF |
16 | 汉字笔画 | 36 | 31C0-31E3 |
17 | 汉字结构 | 12 | 2FF0-2FFB |
18 | 汉语注音 | 43 | 3105-312F |
19 | 注音扩展 | 22 | 31A0-31BA |
20 | 〇 | 1 | 3007 |
2. Python代码实现
#只要是检测到一个非汉字字符就返回
#if条件一大堆,肯定有更简单的写法,再学吧!
def is_ch(word):for ch in word:if not('\u4e00' <= ch <= '\u9fef') and not ('\u3400' <= ch <= '\u4db5') \and not ('\u20000' <= ch <= '\u2a6d6') and not ('\u2a700' <= ch <= '\u2b734')\and not ('\u2b740' <= ch <= '\u2b81d') and not ('\u2b820' <= ch <= '\u2cea1')\and not ('\u2ceb0' <= ch <= '\u2ebe0') and not ('\u2f00' <= ch <= '\u2fd5')\and not ('\u2e80' <= ch <= '\u2ef3') and not ('\uf900' <= ch <= '\ufad9')\and not ('\u2f800' <= ch <= '\u2fa1d') and not ('\ue815' <= ch <= '\ue86f')\and not ('\ue400' <= ch <= '\ue5e8') and not ('\ue600' <= ch <= '\ue6cf')\and not ('\u31c0' <= ch <= '\u31e3') and not ('\u2ff0' <= ch <= '\u2ffb')\and not ('\u3105' <= ch <= '\u312f') and not ('\u31a0' <= ch <= '\u31ba'):return Falsebreakreturn True
3. 有时间时可以扩展
(1)比如:全部为汉字时返回True和原字符串,有非汉字时返回False和非汉字字符串。
(2)if中判断条件一大堆,肯定有简单的写法,找到一个简单的写法或是优雅点的写法。
(3)更简单的实现方法?这些Unicode 编码连续吗?找时间研究一下!
Python实现检测字符串是否全为汉字(含生僻字)相关推荐
- python3.4学习笔记(二十一) python实现指定字符串补全空格、前面填充0的方法
python3.4学习笔记(二十一) python实现指定字符串补全空格.前面填充0的方法 Python zfill()方法返回指定长度的字符串,原字符串右对齐,前面填充0. zfill()方法语法: ...
- php 中文转拼音最全字符集函数(包含20902个基本汉字+5059生僻字)
与传统的范围比对方式不同,这个函数采用直接字符匹配的方式翻译拼音,不需要做gbk转码.而且当遇到遗漏的中文字符时,也可手动维护加入map表,扩展简单.包含20902个基本汉字+5059生僻字,几乎全了 ...
- 最全汉字正则校验:只允许汉字,允许带点,允许拓展汉字,生僻字,比如䶮之类的汉字
这里只讲中文名正则校验,若是需要更全面的校验,请看另一篇博客: 全网最全js前端.后端通用校验中文姓名(可带点·)的方法 还是一贯的风格,一贯的直接,不讲废话,开始: 1:校验纯汉字(长度为2-6位) ...
- php获取中文拼音(含生僻字,多音字,音标)支持首字母,全拼
前面文章有提到php获取中文拼音的解决方案,文章链接如下 该方法的优势在于速度够快,不依赖于任何第三方库.但不支持多音字以及音标的获取,现在将借助第三方库解决这个问题 上一篇地址 php获取中文拼音( ...
- php获取中文拼音(含生僻字)支持首字母,全拼
此文为基础篇-优势在于速度更快,无依赖第三方库.如需更多功能可参考进阶篇 进阶篇 支持多音字,音标 php获取中文拼音(含生僻字,多音字,音标)支持首字母,全拼 /*** 中文转拼音 (utf8版,g ...
- python re 查找字符串中是否含有汉字
如何使用python中的re来查找字符串中是否含有汉字 import re pat = "[\u4e00-\u9fa5]+" s = ... if re.search(pat, s ...
- python如何判断字符串是否包含某些汉字_Python如何判断一个字符串是否包含指定子字符串...
Python如何判断一个字符串是否包含指定字符串?本篇文章就给大家介绍Python判断一个字符串是否包含指定子串的3种方法.有一定的参考价值,有需要的朋友可以参考一下,希望对你们有所帮助. 程序员在字 ...
- 【Python】检测字符串的方法
1. isalnum() 语法: str.isalnum() 返回值: 如果 string 至少有一个字符并且所有字符都是字母或数字则返回 True,否则返回 False str1 = 'this20 ...
- 检测字符串中是否有汉字
项目中需要这个技术,第一时间打开百度,但是没有较好的解答.没办法自己写喽,方法虽然比较笨,但是非常实用,也想过将这么长的表达式弄短点,但是没成功,有更好的办法欢迎交流学习! 正则表达式手段 不会正则没 ...
最新文章
- CSS中expression使用简介(转载)
- hibernate4连接mysql自动创建表之错误
- 2008年毕业生第一份工作月薪工资大曝光
- 服务端 https和SSL
- .net string format
- react初识生命周期
- file.delete删除不了文件_巧用磁盘清理,彻底清除Windows系统垃圾文件
- Spring Boot快速搭建Web开发框架(Hibernate+Thymeleaf)
- C# WinForm ListView控件用法详解
- SAP BAPI_SALESORDER_CREATEFROMDAT2 创建销售订单
- html设置默认选中状态,html select 标签设置默认选中
- 设计模式在项目中的应用案例_三菱PLC实际项目应用案例讲解
- redis配置文件中常用配置详解
- vue中组件根元素添加样式无效
- 咖世家咖啡与瑞士莲首度跨界合作,打造联名快闪店
- echart表格颜色设置
- 2014腾讯校园招聘回顾
- 在某软国际的那些日子
- ctab法提取dna流程图_CTAB法原理(植物DNA提取经典方法)
- html5游戏开发上升空间,风口上的HTML5,有前途,更有“钱”途!
热门文章
- js获取树形JSON数据根节点到任一子节点路径
- GB28181监控视频统一汇聚平台LiveGBS将海康大华华为宇视等厂家监控设备统一接入后如何生成固定播放链接或者固定的流地址可以直接无插件播放或者拉取
- matlab实现PS算法之亮度调整
- HTML5网页设计期末大作业 ~金福普洱茶叶网页设计成品6页面带视频留言验证(HTML+CSS+JS)~ 学生hbuilder网页设计作业成品源码
- 2018-11-5-win10-uwp-异步转同步
- 职场中职员如何向上管理?
- intern()详解
- 群体Polymorphism information content(PIC)、 Nei diversity index (Nei s) 和 Shannon index (I)计算方法
- 做一个“有意思”的人
- Openwrt switch vlan配置