# -*- coding:UTF-8 -*-
"""字符处理的工具:
判断unicode是否是中文,日文,数字,英文,或者其他字符。
全角符号转半角符号。"""
def is_number(self, uchar):
"""判断一个unicode是否是数字"""
if uchar >= u'\u0030' and uchar <= u'\u0039':
return True
else:
return False
def is_other(self, uchar):
"""判断是否非汉字,数字和英文字符"""
if not (self.is_unicode(uchar) or self.is_number(uchar) or self.is_alphabet(uchar)):
return True
else:
return False
def is_alphabet(self, 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_unicode(self, uchar):
"""判断一个unicode是否是汉字"""
# \u4e00-\u9fa5 (中文)
# \u0800-\u4e00 (日文)
if uchar >= u'\u4e00' and uchar <= u'\u9fa5':
return True
elif uchar >= u'\u0800' and uchar <= u'\u4e00':
return True
else:
return False
def Q2B(uchar):
"""全角转半角"""
inside_code = ord(uchar)
if inside_code == 0x3000:
inside_code = 0x0020
else:
inside_code -= 0xfee0
if 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
分享到:
相关推荐
ssl.pyd**、**_hashlib.pyd** 和 **unicodedata.pyd**:这些是Python的动态链接库模块,分别用于实现SSL/TLS加密、哈希算法以及Unicode数据处理,它们是Python标准库的一部分,增强了Python对网络通信和字符串处理的...
Python 3.6.7是Python编程语言的一个稳定版本,其官方中文文档是学习和掌握这一版本的关键资源。这份文档特别适合初学者,因为它提供了全面且详尽的指南,帮助新接触Python的人避免在学习过程中遇到的常见陷阱,从而...
3. **字符串操作**:Python的字符串处理功能强大,包括字符串格式化、切片、查找、替换、连接等操作,以及正则表达式的学习,这些都是处理文本数据的重要技能。 4. **面向对象编程**:Python是一门面向对象的语言,...
python数据处理常用代码---数据预处理,包含博客里的所有代码,共大家练习使用。 python数据处理常用代码---数据预处理,包含博客里的所有代码,共大家练习使用。 python数据处理常用代码---数据预处理,包含博客里...
Python 3.7.3是Python 3.x系列的一个稳定版本,包含了众多新特性与优化。本手册详细介绍了这一版本的各个方面,旨在帮助用户更好地理解和运用Python 3.7.3进行开发工作。 1. Python 3.7.3简介: - 新特性:Python ...
Python中的Levenshtein库是一个用于计算字符串之间编辑距离的模块。编辑距离,也称为莱文斯坦距离,是衡量两个字符串之间差异的一种方法,通过计算将一个字符串转换为另一个字符串所需的最少单字符编辑(插入、删除...
Python 3.9.13 是 Python 语言的一个重要版本,发布于2022年5月17日。此版本适用于现代操作系统,但不支持Windows 7或更早的操作系统,这意味着如果你的电脑运行的是这些旧版Windows,将无法安装和使用这个Python...
最后,多个模块的实用教程进一步细化了Python的功能,例如,可能会有专门针对数据处理的Pandas教程,或者网络编程的socket模块教程。这些教程通常更注重实践,通过实例教学,让开发者能够快速上手并应用到实际项目中...
Python 3.6.5是Python编程语言的一个稳定版本,发布于2018年,为用户提供了一系列增强和修复。这个压缩包“python-3.6.5-amd32-amd64.zip”包含了针对两种不同处理器架构的Python安装程序,即用于64位(amd64)和32...
`unicodedata.pyd`是一个预编译的Python扩展模块,提供了Unicode字符数据库的访问,对于处理Unicode字符和字符串操作非常关键。 为了使用这个解压版的Python环境,你需要将压缩包中的所有文件解压到同一个目录,并...
5. **类型转换**:自动处理Python数据类型与MySQL数据类型之间的转换,如字符串、整数、浮点数、日期和时间等。 6. **预编译语句**:通过占位符(如%s)和参数列表,可以避免SQL注入攻击,并提高执行效率。 7. **...
这个压缩包“python-3.9.1-docs-pdf-a4.zip”提供了一份完整的Python 3.9.1版本的文档,以A4纸张格式排版,方便用户打印或在电子设备上阅读。 首先,文档覆盖了Python的基础知识,包括安装Python、解释器的使用、...
Python 3.9是Python语言的一个重要版本,它在3.x系列中引入了许多新特性,增强了语言的功能性和易用性。本文将详细介绍如何在Macbook上,特别是针对10.9及以上系统,安装Python 3.9.10。 首先,我们需要了解Python ...
总的来说,`Levenshtein`库是Python中一个强大的工具,它提供了计算和分析字符串相似度的功能,对于需要处理文本相似性问题的开发者来说,是一个不可或缺的资源。这个特定的压缩包版本适用于64位Windows系统上的...
总之,Python Levenshtein库提供了一种高效的方法来量化和比较字符串的相似性,是Python开发者在处理文本数据时不可或缺的工具之一。安装和使用这个库能简化处理字符串相似度问题的过程,提高代码的可读性和效率。
Python 3.8.3rc1是Python 3.x系列中的一个重要版本,它在功能、性能和稳定性上都有所提升。而“python-3.8.3rc1-docs-html.zip”这个压缩包则包含了该版本的官方中文帮助文档,对于学习和理解Python 3.8.3的特性至关...
标题 "python-3.6.0-embed-win32.zip" 指示这是一个包含Python 3.6.0精简版的Windows 32位压缩包,主要用于在不安装完整Python环境的情况下运行Python程序。这个版本包含了运行Python程序所需的基本组件。 描述中的...
总之,通过这个"Python3项目开发---DIY字符画",你将掌握Python编程基础、图像处理技术、色彩理论、字符映射和输出策略等多方面的知识。这是一个既有趣又有挑战性的项目,完成后不仅能提升你的编程技能,还能激发你...
python毕设-DIY字符画程序,源码和文档! 仅供学习交流! 后续会持续分享相关资源,记得关注哦! python毕设-DIY字符画程序 python毕设-DIY字符画程序 python毕设-DIY字符画程序 python毕设-DIY字符画程序 python...