unicode有個normalize的過程,按照unicode標準,有c、d、kc、kd四種,kc會將大部分的中文標點符號轉化為對應的英文,還會將全形字符轉化為相應的半形字元,比如:
import unicodedata
t = u'中國,中文,標點符號!你好?12345@#【】+=-()'
t2 = unicodedata.normalize('nfkc', t)
'''>>> print t2
中國,中文,標點符號!你好?12345@#【】+=-()
'''
with open('f:/src.txt', 'r', encoding='utf-8') as f:
res = unicodedata.normalize('nfkc', f.read())
with open('f:/dst.txt', 'w', encoding='utf-8') as ff:
ff.write(res)
def punctuation_mend(string):
import unicodedata
import os
table =
if os.path.isfile(string):
with open(string, 'r', encoding='utf-8') as f:
res = unicodedata.normalize('nfkc', f.read())
res = res.translate(table)
with open(string, 'w', encoding='utf-8') as f:
f.write(res)
else:
res = unicodedata.normalize('nfkc', string)
res = res.translate(table)
return res
print(punctuation_mend('【】()%#@&「」'))
punctuation_mend('f:/z.txt')
如何使用python將中文標點轉為英文標點
1.unicode有個normalize的過程,按照unicode標準,有c d kc kd四種,kc會將大部分的中文標點符號轉化為對應的英文,還會將全形字符轉化為相應的半形字元,比如 import unicodedata t u 中國,中文,標點符號!你好?t2 unicodedata.norma...
將中文標點符號替換成英文標點符號
轉全形的函式 sbc case 任意字串 全形字串 全形空格為12288,半形空格為32 其他字元半形 33 126 與全形 65281 65374 的對應關係是 均相差65248 public string tosbc string input if c i 127 c i char c i 65...
js正規表示式將中文標點轉為英文標點
最近寫前端的專案,本以為需要將中文標點轉為英文標點這一功能的,所以寫了這個檔案,但是最後用不上了,刪掉了可惜,所以發表出來,做個記錄。因為沒有使用上,所以不知道是否有bug。將中文符號轉換成英文符號 function chinesechar2englishchar chinesechar str s...