字符串替换不适用于某些俄语字符

时间:2020-11-12 14:44:42

标签: android xiaomi

由于某种原因,我需要用“Е”替换俄语字母““”。所以我写了这个简单的代码

someString = someString.toLowerCase().replace("ё", "е");

除了小米Redmi 9a以外,它在模拟器和我的大多数设备上都运行良好。该应用程序根本不会取代小米上的“ё”。

有什么问题吗?

1 个答案:

答案 0 :(得分:1)

小米Redmi 9a不使用俄语字母“Ё”,而是使用“Ë”! :)这是拉丁字母“ E”,具有音调转换。我不知道是因为键盘还是其他原因。

所以我们需要将代码更改为此

// The first character of pattern is russian Ё, the second is latin E with diaeresis. 
// Some Xiaomi devices use the second variant instead of russian letter
someString = someString.toLowerCase().replaceAll("[ёë]", "е");

或这个

someString = someString.toLowerCase().replace("ё", "е").replace("ë", "е");