替换python字符串中的特殊字母[重复]

Posted

技术标签:

【中文标题】替换python字符串中的特殊字母[重复]【英文标题】:Replacing special ALPHABETS in python string [duplicate] 【发布时间】:2020-04-13 15:30:12 【问题描述】:

我正在研究一个足球数据集,并且正在处理一些异国情调的名字。我想问一下如何替换我的数据集中存在的特殊 ALPHABETS?以下是这些“异国情调”名称的一些示例:

“Lionel Andrés Messi Cuccittini”、“Neymar da Silva Santos Junior”、“Luis Alberto Suárez Díaz”、“David De Gea Quintana”、“Zlatan Ibrahimović”

特殊字母有é、á、ć、等(上面带有“上标”的字母)。我想将它们更改为“基本”形式 - ć 变为 c,á 变为 a,依此类推。

非常感谢!

【问题讨论】:

这能回答你的问题吗? What is the best way to remove accents in a Python unicode string? 如果不是绝对需要替换,请保持名称不变。在所有语言中,“特殊”字符不等同于类似的“普通”字符。看看德国城市杜塞尔多夫(杜塞尔村)不是杜塞尔多夫(傻瓜村)。 【参考方案1】:

你可以试试这个

for i in range(len(playernames)):
    playernames[i] = playernames[i].replace("é", "e")

然后当然是添加所有其他字符

【讨论】:

【参考方案2】:

你可以使用unidecode包:

import unidecode
special_str = [u'Lionel Andrés Messi Cuccittini', u'Neymar da Silva Santos Junior', u'Luis Alberto Suárez Díaz', u'David De Gea Quintana', u'Zlatan Ibrahimović']
for item in special_str:
    print(unidecode.unidecode(item))

输出将是:

Lionel Andres Messi Cuccittini
Neymar da Silva Santos Junior
Luis Alberto Suarez Diaz
David De Gea Quintana
Zlatan Ibrahimovic

【讨论】:

【参考方案3】:

你可以试试:

import unidecode
new_string = unidecode.unidecode(your_string)

【讨论】:

以上是关于替换python字符串中的特殊字母[重复]的主要内容,如果未能解决你的问题,请参考以下文章

第四次上机练习特殊的翻译

python基础——正则表达式

替换字符串Python中的特殊字符

如何替换 hive 列中的特殊字符?

Python移除指定文件夹中所有文件名称中的特殊字符(数字特殊字符空格等)只保留字母字符

Python移除指定文件夹中所有文件名称中的特殊字符(数字特殊字符空格等)只保留字母字符