728x90
반응형
#자바 String 문자열 잘라서 점(...) 처리 하는 방법
#자바 String 문자열 잘라서 점(...)처리 하는 메서드
-문자열을 앞에서부터 max 크기만큼 잘라서 "..." 처리 후 반환
-한글은 3byte 길이로 계산한다.
-예시
public class test {
public static String shortString(String s, int max) {
String result = "";
int count = 0;
if (s == null)
return result;
if (s.getBytes().length > max) {
max -= 2;
char buf[] = s.toCharArray();
for (int i = 0; i < max && i < s.length(); i++) {
if (buf[i] >= 0xa100 && buf[i] <= 0xfe00) {
count += 2;
} else {
count++;
}
if (count > max) {
result += "...";
break;
} else {
result += (new String(buf, i, 1));
}
}
} else {
result = s;
}
return result;
}
public static void main(String[] args) {
// 한글 3바이트
System.out.println(shortString("헬로자바", 5)); // 헬...
System.out.println(shortString("안녕하세요. 반갑습니다.", 6)); // 안녕...
}
}
728x90
반응형
'IT > Java' 카테고리의 다른 글
[Java] - 자바 String 문자열 공백 제거 하는 방법 (trim() 메서드) (0) | 2021.09.28 |
---|---|
[Java] - 자바 String 문자열을 원하는 길이만큼 지정한 문자로 채우는 방법 (padding) (0) | 2021.09.28 |
[Java] - 자바 String 문자열 인코딩 방법 - getBytes() (0) | 2021.09.28 |
[Java] - 자바 String 문자열 대문자(toUpperCase), 소문자(toLowerCase) 변환 방법 (0) | 2021.09.28 |
[Java] - 자바 String 문자열 null 체크 및 치환하는 방법 (0) | 2021.09.28 |
댓글