脚本之家,脚本语言编程技术及教程分享平台!
分类导航

Python|VBS|Ruby|Lua|perl|VBA|Golang|PowerShell|Erlang|autoit|Dos|bat|

服务器之家 - 脚本之家 - Python - python 全角半角互换的实现示例

python 全角半角互换的实现示例

2022-11-16 13:39王大呀呀 Python

全角、半角的的不一致会导致信息抽取不一致,本文主要介绍了python 全角半角互换的实现示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

在自然语言处理过程中,全角、半角的的不一致会导致信息抽取不一致,因此需要统一。

有规律(不含空格):

全角字符unicode编码从65281~65374 (十六进制 0xFF01 ~ 0xFF5E)
半角字符unicode编码从33~126 (十六进制 0x21~ 0x7E)

特例:

空格比较特殊,全角为 12288(0x3000),半角为 32(0x20)

除空格外,全角/半角按unicode编码排序在顺序上是对应的(半角 + 0x7e= 全角),所以可以直接通过用+-法来处理非空格数据,对空格单独处理。

注:

1. 中文文字永远是全角,只有英文字母、数字键、符号键才有全角半角的概念,一个字母或数字占一个汉字的位置叫全角,占半个汉字的位置叫半角。

2. 引号在中英文、全半角情况下是不同的

示例

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
# 全角转半角
def strQ2B(ustring):
    ss = []
    for s in ustring:
        rstring = ""
        for uchar in s:
            inside_code = ord(uchar)
            if inside_code == 12288
                inside_code = 32
            elif (inside_code >= 65281 and inside_code <= 65374):  
                inside_code -= 65248
            rstring += chr(inside_code)
        ss.append(rstring)
    return ''.join(ss)
 
# 半转全角
def strB2Q(ustring):
    ss = []
    for s in ustring:
        rstring = ""
        for uchar in s:
            inside_code = ord(uchar)
            if inside_code == 32:
                inside_code = 12288
            elif (inside_code >= 33 and inside_code <= 126):
                inside_code += 65248
            rstring += chr(inside_code)
        ss.append(rstring)
    return ''.join(ss)
 
 
if __name__ == '__main__':
    b = strQ2B('王大AA')
    print(b)
    a = strB2Q("王大AB")
    print(a)

库函数说明

chr()函数用一个范围在range(256)内的(就是0~255)整数作参数,返回一个对应的字符。
unichr()跟它一样,只不过返回的是Unicode字符。

ord()函数是chr()函数(对于8位的ASCII字符串)或unichr()函数(对于Unicode对象)的配对函数,它以一个字符(长度为1的字符串)作为参数,返回对应的ASCII数值,或者Unicode数值。

到此这篇关于python 全角半角互换的实现示例的文章就介绍到这了,更多相关python 全角半角互换内容请搜索服务器之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持服务器之家!

原文链接:https://juejin.cn/post/7080335663979036686

延伸 · 阅读

精彩推荐
  • Python如何在python中使用selenium的示例

    如何在python中使用selenium的示例

    这篇文章主要介绍了如何在python中使用selenium的示例,selenium提供了一个通用的接口,可模拟用户来操作浏览器,小编觉得挺不错的,现在分享给大家,也给...

    虞大胆12682020-12-28
  • Python分享Python字符串关键点

    分享Python字符串关键点

    字符串是 Python 中最常用的数据类型。我们可以使用引号来创建字符串,通过本篇文章给大家分享python字符串关键点相关资料,感兴趣的朋友一起学习吧 ...

    波比124582020-08-04
  • PythonDjango 聚合函数的具体使用

    Django 聚合函数的具体使用

    orm模型中的聚合函数跟MySQL中的聚合函数作用是一致的,也有像Sum、Avg、Count、Max、Min,接下来我们逐个介绍,下面就一起来了解一下...

    Silent丿丶黑羽6062021-11-07
  • Python使用pygame模块编写贪吃蛇的实例讲解

    使用pygame模块编写贪吃蛇的实例讲解

    下面小编就为大家分享一篇使用pygame模块编写贪吃蛇的实例讲解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...

    ykersimple10512021-01-12
  • PythonPython 测试框架unittest和pytest的优劣

    Python 测试框架unittest和pytest的优劣

    这篇文章主要介绍了Python 测试框架unittest和pytest的优劣,帮助大家更好的进行python程序的测试,感兴趣的朋友可以了解下...

    莫使娇躯空对月18602020-09-26
  • Python用python实现k近邻算法的示例代码

    用python实现k近邻算法的示例代码

    这篇文章主要介绍了用python实现k近邻算法的示例代码,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧...

    LC_coding10202021-04-01
  • Pythonbat和python批量重命名文件的实现代码

    bat和python批量重命名文件的实现代码

    这篇文章主要介绍了bat和python批量重命名文件的实现代码,需要的朋友可以参考下...

    Python教程网4082020-08-23
  • Pythonpython基于tkinter点击按钮实现图片的切换

    python基于tkinter点击按钮实现图片的切换

    这篇文章主要介绍了python基于tkinter点击按钮实现图片的切换,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的...

    Chauncey_Wang4832021-10-07