python-2.7 - 使用非 ascii 字符将重音字符替换为非重音字符的解决方法
问题描述
我想使用另一种方式将带有重音的字符更改为非重音。例如:将“é”更改为“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])
解决方案
根据源代码编码
默认情况下,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
推荐阅读
- google-maps - 将数据从一个意图传递到另一个意图的 Spinner
- haskell - 如何将归纳推理应用于`GHC.TypeLits.Nat`?
- android - 如何修复 Lint 的“[deprecation] 配置中的语言环境已被弃用”警告
- javascript - 我的谷歌地图折线都已连接,我需要将每条等值线分开 - JavaScript
- apache - XAMPP 5.5.38 虚拟主机 403 访问被禁止
- android - 如何在应用目录中添加文件?
- c# - WPF MVVM 树视图未填充
- node.js - 如何在 Route 53 中配置我的 EC2 实例
- python-3.x - kaggle cli安装错误
- javascript - 我不能在 Apache 权限被拒绝中使用别名