티스토리 뷰

반응형

public static String shortCutString(String str, int limit) {

if (str == null)
return str;

if (limit <= 0) {
return str;
}

byte[] strbyte = str.getBytes();

if (strbyte.length <= limit) {
return str;
}

char[] charArray = str.toCharArray();

int checkLimit = limit;
for (int i = 0; i < charArray.length; i++) {
if (charArray[i] < 256) {
checkLimit -= 1;
} else {
checkLimit -= 2;
}

if (checkLimit <= 0) {
break;
}
}

// 자를려는 마지막 자리가 2바이트 의 중간일경우
// 제거한다.
byte[] newByte = new byte[limit + checkLimit];

for (int i = 0; i < newByte.length; i++) {
newByte[i] = strbyte[i];
}

return new String(newByte);

}

반응형
댓글
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함