大きなドキュメントから、アクセント付きのE、左右の引用符などのすべての高いUnicode文字を、通常の「E」やまっすぐな引用符などの低範囲の「通常の」対応文字に置き換えたいと考えています。非常に大きなドキュメントでこれを頻繁に実行する必要があります。私はここでperlかもしれないと思うものでこれの例を見ます:http ://www.designmeme.com/mtplugins/lowdown.txt
s.replace(...)。replace(...)。replace(...)...を使用せずにPythonでこれを行う高速な方法はありますか?数文字を置き換えてみましたが、ドキュメントのストリッピングが非常に遅くなりました。
編集、動作していないように見えるunutbuのコードの私のバージョン:
# -*- coding: iso-8859-15 -*-
import unidecode
def ascii_map():
data={}
for num in range(256):
h=num
filename='x{num:02x}'.format(num=num)
try:
mod = __import__('unidecode.'+filename,
fromlist=True)
except ImportError:
pass
else:
for l,val in enumerate(mod.data):
i=h<<8
i+=l
if i >= 0x80:
data[i]=unicode(val)
return data
if __name__=='__main__':
s = u'“fancy“fancy2'
print(s.translate(ascii_map()))