Я только начинаю kotlin, так что я уверен, что есть простой способ сделать это, но я этого не вижу.Я хочу разбить на подстроки одинарной длины, используя кодовые точки.В Java 8 это работает:
public class UtfSplit {
static String [] utf8Split (String str) {
int [] codepoints = str.codePoints().toArray();
String [] rv = new String[codepoints.length];
for (int i = 0; i < codepoints.length; i++)
rv[i] = new String(codepoints, i, 1);
return rv;
}
public static void main(String [] args) {
String test = "こんにちは皆さん";
System.out.println("Test string:" + test);
StringBuilder sb = new StringBuilder("Result:");
for(String s : utf8Split(test))
sb.append(s).append(", ");
System.out.println(sb.toString());
}
}
Вывод:
Test string:こんにちは皆さん
Result:こ, ん, に, ち, は, 皆, さ, ん,
Как бы я сделал это в kotlin ??Я могу добраться до кодовых точек, хотя это неуклюже, и я уверен, что я делаю это неправильно.Но я не могу добраться от кодов до строк.Весь интерфейс строки / символа мне кажется другим, и я просто не понимаю.
Спасибо, Стив С.