본문 바로가기
배워야 산다/JAVA

자바 substring

by 인라인타지마 2014. 3. 7.

자바에서 제공되는 substring 함수를 사용할 경우

특수 문자나 한글이 포함되면, 정확히 잘리지 않는 현상이 발생


아래 코드를 사용하여 바이트단위로 정확하게 자를 수 있게 처리


하지만 잘린 스트링이 한글이 포함될 경우 한글이 깨질 수 도 있을듯..


public String subStringBytes(String str, int byteLength) {   
 // String 을 byte 길이 만큼 자르기.    
	int length = str.length();    
	int retLength = 0;    
	int tempSize = 0;    
	int asc;    
	for (int i = 1; i <= length; i++) {        
		asc = (int) str.charAt(i - 1);        
		if (asc > 127) {            
			if (byteLength >= tempSize + 2) {                
				tempSize += 2;                
				retLength++;            
			} else {                
				return str.substring(0, retLength);            
			}       
		} else {           
			if (byteLength > tempSize) {
				tempSize++;
				retLength++;            
			}        
		}    
	}   
	return str.substring(0, retLength);
}

참고 URL : http://pmguda.com/579

반응형

'배워야 산다 > JAVA' 카테고리의 다른 글

RAC 접속 URL STRING  (0) 2014.11.24
자바 split의 효율적인 사용  (0) 2014.03.07
자바 소켓 연결시 타임아웃 설정  (0) 2014.02.24
자바설치, 이클립스 설정 2/2  (0) 2012.02.06
자바설치, 이클립스 설정 1/2  (0) 2012.02.06