`
metallica_1860
  • 浏览: 33579 次
  • 性别: Icon_minigender_1
  • 来自: 天津
社区版块
存档分类
最新评论

python是个什么东西---python---python的字符处理

阅读更多
  
  
# -*- 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  
分享到:
评论

相关推荐

    python-3.6.8-embed-amd64.zip

    ssl.pyd**、**_hashlib.pyd** 和 **unicodedata.pyd**:这些是Python的动态链接库模块,分别用于实现SSL/TLS加密、哈希算法以及Unicode数据处理,它们是Python标准库的一部分,增强了Python对网络通信和字符串处理的...

    python-3.6.7-docs-pdf-a4

    Python 3.6.7是Python编程语言的一个稳定版本,其官方中文文档是学习和掌握这一版本的关键资源。这份文档特别适合初学者,因为它提供了全面且详尽的指南,帮助新接触Python的人避免在学习过程中遇到的常见陷阱,从而...

    Python-100-Days-master.zip

    3. **字符串操作**:Python的字符串处理功能强大,包括字符串格式化、切片、查找、替换、连接等操作,以及正则表达式的学习,这些都是处理文本数据的重要技能。 4. **面向对象编程**:Python是一门面向对象的语言,...

    python数据处理常用代码---数据预处理.ipynb

    python数据处理常用代码---数据预处理,包含博客里的所有代码,共大家练习使用。 python数据处理常用代码---数据预处理,包含博客里的所有代码,共大家练习使用。 python数据处理常用代码---数据预处理,包含博客里...

    python-3.7.3-docs-pdf-a4.zip

    Python 3.7.3是Python 3.x系列的一个稳定版本,包含了众多新特性与优化。本手册详细介绍了这一版本的各个方面,旨在帮助用户更好地理解和运用Python 3.7.3进行开发工作。 1. Python 3.7.3简介: - 新特性:Python ...

    python_Levenshtein_wheels-0.13.2-cp38-cp38-win_amd64.whl.zip

    Python中的Levenshtein库是一个用于计算字符串之间编辑距离的模块。编辑距离,也称为莱文斯坦距离,是衡量两个字符串之间差异的一种方法,通过计算将一个字符串转换为另一个字符串所需的最少单字符编辑(插入、删除...

    python-3.9.13-amd64安装包

    Python 3.9.13 是 Python 语言的一个重要版本,发布于2022年5月17日。此版本适用于现代操作系统,但不支持Windows 7或更早的操作系统,这意味着如果你的电脑运行的是这些旧版Windows,将无法安装和使用这个Python...

    python-3.8.1-docs-pdf-letter.zip

    最后,多个模块的实用教程进一步细化了Python的功能,例如,可能会有专门针对数据处理的Pandas教程,或者网络编程的socket模块教程。这些教程通常更注重实践,通过实例教学,让开发者能够快速上手并应用到实际项目中...

    python-3.6.5-amd32-amd64.zip

    Python 3.6.5是Python编程语言的一个稳定版本,发布于2018年,为用户提供了一系列增强和修复。这个压缩包“python-3.6.5-amd32-amd64.zip”包含了针对两种不同处理器架构的Python安装程序,即用于64位(amd64)和32...

    python-3.7.4-embed-win32.zip

    `unicodedata.pyd`是一个预编译的Python扩展模块,提供了Unicode字符数据库的访问,对于处理Unicode字符和字符串操作非常关键。 为了使用这个解压版的Python环境,你需要将压缩包中的所有文件解压到同一个目录,并...

    MySQL-python-1.2.3.win-amd64-py2.7

    5. **类型转换**:自动处理Python数据类型与MySQL数据类型之间的转换,如字符串、整数、浮点数、日期和时间等。 6. **预编译语句**:通过占位符(如%s)和参数列表,可以避免SQL注入攻击,并提高执行效率。 7. **...

    python-3.9.1-docs-pdf-a4.zip

    这个压缩包“python-3.9.1-docs-pdf-a4.zip”提供了一份完整的Python 3.9.1版本的文档,以A4纸张格式排版,方便用户打印或在电子设备上阅读。 首先,文档覆盖了Python的基础知识,包括安装Python、解释器的使用、...

    Python3.9安装包下载,适用Macbook 10.9及以上系统。python-3.9.10-macosx10.9

    Python 3.9是Python语言的一个重要版本,它在3.x系列中引入了许多新特性,增强了语言的功能性和易用性。本文将详细介绍如何在Macbook上,特别是针对10.9及以上系统,安装Python 3.9.10。 首先,我们需要了解Python ...

    python_Levenshtein-0.12.2-cp38-cp38-win_amd64.whl.zip

    总的来说,`Levenshtein`库是Python中一个强大的工具,它提供了计算和分析字符串相似度的功能,对于需要处理文本相似性问题的开发者来说,是一个不可或缺的资源。这个特定的压缩包版本适用于64位Windows系统上的...

    python_Levenshtein-0.12.2-cp310-cp310-win_amd64.whl.zip

    总之,Python Levenshtein库提供了一种高效的方法来量化和比较字符串的相似性,是Python开发者在处理文本数据时不可或缺的工具之一。安装和使用这个库能简化处理字符串相似度问题的过程,提高代码的可读性和效率。

    python-3.8.3rc1-docs-html.zip

    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-embed-win32.zip" 指示这是一个包含Python 3.6.0精简版的Windows 32位压缩包,主要用于在不安装完整Python环境的情况下运行Python程序。这个版本包含了运行Python程序所需的基本组件。 描述中的...

    Python3项目开发---DIY字符画.zip

    总之,通过这个"Python3项目开发---DIY字符画",你将掌握Python编程基础、图像处理技术、色彩理论、字符映射和输出策略等多方面的知识。这是一个既有趣又有挑战性的项目,完成后不仅能提升你的编程技能,还能激发你...

    python毕设-DIY字符画程序

    python毕设-DIY字符画程序,源码和文档! 仅供学习交流! 后续会持续分享相关资源,记得关注哦! python毕设-DIY字符画程序 python毕设-DIY字符画程序 python毕设-DIY字符画程序 python毕设-DIY字符画程序 python...

Global site tag (gtag.js) - Google Analytics