Обходной путь для использования символа, отличного от ascii, для замены символа ударения на символ без акцента - PullRequest
0 голосов
/ 22 сентября 2018

Я хотел бы использовать другой способ изменить символы с акцентом на без акцента.Например: измените «é» на «e» ... и т. Д.

Мне нужно остаться в 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 голосов
/ 22 сентября 2018

Согласно Кодировка исходного кода

По умолчанию исходные файлы 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

...