替换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字符串中的特殊字母[重复]的主要内容,如果未能解决你的问题,请参考以下文章