python把中文转英文_Python 3.0_文本清洗之中文特殊符号转英文特殊符号及全角字符转半角字符...
在文本清洗的過程,特殊符號的不規(guī)范是比較麻煩的事情,所以需要把文本中的特殊符號按照統(tǒng)一的標準處理。以下代碼的作用就是將中文的特殊符號統(tǒng)一轉(zhuǎn)成英文的,以及將全角符號轉(zhuǎn)換成半角符號。參考代碼# -*- coding: GBK -*-
import re
def strQ2B(ustring):
"""中文特殊符號轉(zhuǎn)英文特殊符號"""
#中文特殊符號批量識別
pattern = re.compile('[,。:“”【】《》?;、()‘’『』「」﹃﹄〔〕—·]')
#re.compile: 編譯一個正則表達式模式,返回一個模式(匹配模式)對象。
#[...]用于定義待轉(zhuǎn)換的中文特殊符號字符集
fps = re.findall(pattern, ustring)
#re.findall: 搜索string,以列表形式返回全部能匹配的子串。
#對有中文特殊符號的文本進行符號替換
if len(fps) > 0:
ustring = ustring.replace(',', ',')
ustring = ustring.replace('。', '.')
ustring = ustring.replace(':', ':')
ustring = ustring.replace('“', '"')
ustring = ustring.replace('”', '"')
ustring = ustring.replace('【', '[')
ustring = ustring.replace('】', ']')
ustring = ustring.replace('《', '<')
ustring = ustring.replace('》', '>')
ustring = ustring.replace('?', '?')
ustring = ustring.replace(';', ':')
ustring = ustring.replace('、', ',')
ustring = ustring.replace('(', '(')
ustring = ustring.replace(')', ')')
ustring = ustring.replace('‘', "'")
ustring = ustring.replace('’', "'")
ustring = ustring.replace('’', "'")
ustring = ustring.replace('『', "[")
ustring = ustring.replace('』', "]")
ustring = ustring.replace('「', "[")
ustring = ustring.replace('」', "]")
ustring = ustring.replace('﹃', "[")
ustring = ustring.replace('﹄', "]")
ustring = ustring.replace('〔', "{")
ustring = ustring.replace('〕', "}")
ustring = ustring.replace('—', "-")
ustring = ustring.replace('·', ".")
"""全角轉(zhuǎn)半角"""
#轉(zhuǎn)換說明:
#全角字符unicode編碼從65281~65374 (十六進制 0xFF01 ~ 0xFF5E)
#半角字符unicode編碼從33~126 (十六進制 0x21~ 0x7E)
#空格比較特殊,全角為 12288(0x3000),半角為 32(0x20)
#除空格外,全角/半角按unicode編碼排序在順序上是對應的(半角 + 0x7e= 全角),所以可以直接通過用+-法來處理非空格數(shù)據(jù),對空格單獨處理。
rstring = ""
for uchar in ustring:
inside_code = ord(uchar)
if inside_code == 12288: #全角空格直接轉(zhuǎn)換
inside_code = 32
elif (inside_code >= 65281 and inside_code <= 65374): #全角字符(除空格)根據(jù)關(guān)系轉(zhuǎn)化
inside_code -= 65248
rstring += chr(inside_code)
return rstring測試代碼if __name__ == "__main__":
str = '這是一個,【個人】deboke'
str_q2b = strQ2B(str)
print(str)
print(str_q2b)測試結(jié)果
參考鏈接:
總結(jié)
以上是生活随笔為你收集整理的python把中文转英文_Python 3.0_文本清洗之中文特殊符号转英文特殊符号及全角字符转半角字符...的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python实现排序算法_python实
- 下一篇: zincrby redis python