我正在使用otherwise
来计算字符串中可见字符的数量。这非常适合英语。但就印地语而言,它并没有像预期的那样发挥作用。
以下字符串的长度为3,但在视觉上被视为单个字符。
BreakIterator
当我使用ज्य
时,我希望它将其视为一个单元,但它将其视为2个单位。以下是我的代码:
BreakIterator
理想情况下, final String text = "ज्य";
final Locale locale = new Locale("hi","IN");
final BreakIterator breaker = BreakIterator.getCharacterInstance(locale);
breaker.setText(text);
int start = breaker.first();
for (int end = breaker.next();
end != BreakIterator.DONE;
start = end, end = breaker.next()) {
final String substring = text.substring(start, end);
}
循环应该在ONCE执行,start = 0和end = 3;但对于上面的字符串,它执行了两次(start = 0,end = 2和start = 2,end = 3)。
如何让for
完全正常工作?
更新
上面的代码在作为JAVA程序运行时非常有效。只有在ANDROID中使用它才会出错。
由于这只发生在Android中,我在android中报告了一个错误:https://code.google.com/p/android/issues/detail?id=230832
答案 0 :(得分:0)