Python对单词МАМА
和MAMA
的处理方式不同,因为其中一个用拉丁语编写,另一个用西里尔语编写。
如何使python将它们视为一个字符串?
我只关心异形。
最佳答案
音译不会有帮助(它会把西里尔字母P变成拉丁字母R)乍一看,Unicode兼容表单(NFKD或NFKC)看起来很有希望,但这会将U+041C(西里尔文大写字母EM)转换为U+041C(而不是U+004D(拉丁文大写字母EM))——所以这行不通。
唯一的解决方案是构建自己的同构表,并在比较之前将所有字符串转换为规范形式。
注:当我说“西里尔字母P”时,我作弊并使用了拉丁语变体-我没有一个简单的方法进入西里尔字母。