删除外国字母,同时保留python中带有重音的英文字母



有没有办法在python中删除外来字母,但保留带有重音的英文字母?

例如,我希望将Pic d‘Os转换为Pic d’Os,但没有马萨纳转换为马萨娜-理想情况下,我希望它转换为一个空白字符串。

我使用过unidecode,但unidecode也将外来字母转换为ascii。

谢谢你调查此事。

现代正则表达式引擎支持字符类LatinisLatin,它们将匹配重音或非重音拉丁字母。

一个只匹配你想要的正则表达式会稍微复杂一些。您不想简单地匹配LetterNumber,因为它们将匹配其他脚本中的字母和数字。您也不希望包含或排除所有组合重音:您希望小拉丁字母a+组合锐音符显示为á,但带重音的希腊字母不显示为。因此,您希望匹配类似(p{Latin}p{Mark}*)|p{Punctuation}|p{Separator}的内容。

最新更新