[Python] 中英文标点转换

为解决中英文标点转换的问题,我查阅了一些资料,发现大家主流的方法是通过加减中英文标点相差的编码值,来实现中英文标点或者中英文字符的转换(或者是半角转全角)。

但在实际操作过程中,引号的转换会出现一些问题,所以转变思路,将问题变成字符串替换,利用python 字符串类型本身所带的translate函数来解决。

主流方法参考:https://blog.csdn.net/dengzhilong_cpp/article/details/25282349

translate函数详解:http://www.runoob.com/python/att-string-translate.html

利用translate函数将英文标点转换为中文标点

def E_trans_to_C(string):
    E_pun = u',.!?[]()<>"\''
    C_pun = u',。!?【】()《》“‘'
    table= {ord(f):ord(t) for f,t in zip(E_pun,C_pun)}
    return string.translate(table)

测试函数

s1 = '这里包含英文字符.'
s2 = E_trans_to_C(s1)
print(s2)

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/nanbei2463776506/article/details/82967140