我们常常会用到判断某个字符或者字符串是否包含中文,英文,特殊符号等等。这时候可以通过判断Unicode所在区间来确定某个字符所处类型。当然可以通过直接判断Unicode码,但是鉴于习惯,以下提供的是Unicode码对应的数字区间。毕竟字符的本质也就是通过二进制进行存储编码的而已。
基本汉字:[0x4e00,0x9fa5](或十进制[19968,40869])
数字:[0x 0030,0x0039](或十进制[48, 57])
小写字母:[0x0061,0x007a](或十进制[97, 122])
大写字母:[0x0041,0x005a](或十进制[65, 90])
Unicode都是两个字节,由于长度统一,所以比较适合程序处理。
再来一个比较完整的Unicode分布:
0000-007F:C0控制符及基本拉丁文 (C0 Control and Basic Latin)
0080-00FF:C1控制符及拉丁文补充-1 (C1 Control and Latin 1 Supplement)
0100-017F:拉丁文扩展-A (Latin Extended-A)
0180-024F:拉丁文扩展-B (Latin Extended-B)
0250-02AF:国际音标扩展 (IPA Extensions)
02B0-02FF:空白修饰字母 (Spacing Modifiers)
0300-036F:结合用读音符号 (Combining Diacritics Marks)
0370-03FF:希腊文及科普特文 (Greek and Coptic)
0400-04FF:西里尔字母 (Cyrillic)
0500-052F:西里尔字母补充 (Cyrillic Supplement)
0530-058F:亚美尼亚语 (Armenian)
0590-05FF:希伯来文 (Hebrew)
0600-06FF:阿拉伯文 (Arabic)
0700-074F:叙利亚文 (Syriac)
0750-077F:阿拉伯文补充 (Arabic Supplement)
0780-07BF:马尔代夫语 (Thaana)
07C0-077F:西非書面語言 (N'Ko)
0800-085F:阿维斯塔语及巴列维语 (Avestan and Pahlavi)
0860-087F:Mandaic
0880-08AF:撒马利亚语 (Samaritan)
0900-097F:天城文书 (Devanagari)
来源:https://blog.csdn.net/weixin_34206263/article/details/11203186
[...]英文字母:\u0041-\u007a注:更多的编码范围可参考:https://diyibailingyici.chuangdangjianghudewumingyouxia.cn/archives/367.html说明:只保留汉字 等价于 将所有非汉字的字符全部删除,因此对非汉字(^\u4e00-\u9fa5)全部用replace函数替换即可举例:import re[...]