从字符串中删除特殊字符

sha*_*aan 10 python

我有一个字符串"MikaelHåfström",其中包含一些特殊字符如何使用python删除它?

Fil*_*vić 12

您可以使用该unicodedata模块来规范化unicode字符串并以ASCII形式对其进行编码,如下所示:

>>> import unicodedata
>>> source = u'Mikael Håfström'
>>> unicodedata.normalize('NFKD', source).encode('ascii', 'ignore')
'Mikael Hafstrom'
Run Code Online (Sandbox Code Playgroud)

一个值得注意的例外是Python不识别字母'đ'和'Đ',它们不会被编码为'd',因此它们将被简单地从结果中省略.这是一种在一些SEE语言的拉丁字母表中出现的浊音 - 腭语,因此它可能会或可能不会立即引起您的观众或您是否提供对Latin-1字符集的完全支持.我目前在本地运行Python 2.6.5(2010年3月19日)并且存在问题,但我确信它可能已经通过新版本解决了.


fil*_*mor 5

例如,使用编码方法: u"Mikael Håfström".encode("ascii", "ignore")