Java中的String数据类型让我们知道codePointCount在字符串中退出了多少个unicode字符;以及如何通过codePointAt获取第n个unicode char。我想知道是否有一个API来获取包含Java中前N个unicode字符的子字符串。
谢谢,
答案 0 :(得分:9)
没有一种方法可以在一次通话中执行此操作,但offsetByCodePoints()
可以帮助您完成此操作。
static String substring(String str, int idx, int len) {
return str.substring(idx, str.offsetByCodePoints(idx, len));
}
答案 1 :(得分:0)
参见Java源代码:java.util.stream.Collectors#joining()
.codePoints().limit(255) // limit as you need
.collect(StringBuilder::new, StringBuilder::appendCodePoint, null)