5
Java中的String數據類型讓我們知道有多少個Unicode字符通過codePointCount在字符串中退出;以及如何通過codePointAt獲取第n個unicode字符。我想知道是否有API來獲取包含Java中前N個unicode字符的子字符串。如何獲取包含Java中前N個Unicode字符的子字符串
感謝,
Java中的String數據類型讓我們知道有多少個Unicode字符通過codePointCount在字符串中退出;以及如何通過codePointAt獲取第n個unicode字符。我想知道是否有API來獲取包含Java中前N個unicode字符的子字符串。如何獲取包含Java中前N個Unicode字符的子字符串
感謝,
這裏沒有,做它在一個呼叫的方法,但offsetByCodePoints()
將幫助你做到這一點。
static String substring(String str, int idx, int len) {
return str.substring(idx, str.offsetByCodePoints(idx, len));
}
是不是必須是'substring(str.offsetByCodePoints(0,idx),str.offsetByCodePoints(0,idx + len))'? – caw
這取決於'idx'參數是字符偏移量還是碼點偏移量。字符串方法通常採用字符偏移量,而那些使用代碼點的方法旨在將代碼點偏移量轉換爲字符偏移量。 – erickson