使用非ASCII字符将重音符号替换为非重音的变通办法

时间:2018-09-22 15:12:08

标签: python-2.7 non-ascii-characters

我想使用另一种方式将带重音的字符更改为非重音。例如:将“é”更改为“ e” ... etc

我必须留在python 2.7中

我使用了一个相当特殊的解释器,该解释器在我的代码中不使用非ascii字符。 显示以下错误:“代码包含非ASCII字符”

如何解决这个问题?

这是我的代码:

import re

chaine = '/lâllôlélûl/fdfd58'
accent = ['é', 'è', 'ê', 'à', 'ù', 'û', 'ç', 'ô', 'î', 'ï', 'â']
no_accent = ['e', 'e', 'e', 'a', 'u', 'u', 'c', 'o', 'i', 'i', 'a']



for i in xrange(len(accent)):
    chaine = chaine.replace(accent[i], no_accent[i])

1 个答案:

答案 0 :(得分:0)

根据Source Code Encoding

默认情况下,Python源文件被视为以ASCII编码。要声明默认编码以外的其他编码,应在文件的第一行添加一个特殊的注释行。语法如下:

# -*- coding: cp1252 -*-

另一种方式

# -*- coding: cp1252 -*-
import unicodedata

chaine = 'çàlaïù'

str_input = unicodedata.normalize('NFKD', unicode(chaine, 'utf-8'))
print str_input.encode('ASCII', 'ignore')
print chaine

enter image description here