-
자바 문자열 글자수로 자르기computer_IT 2022. 7. 1. 13:23반응형
글자수 제한이 있는 경우, 특정 바이트크기나 글자수로 문자열을 잘라내야 할 경우가 있다.
아래 코드는 바이트별, 글자수로 자르는 예제이다.import java.io.ByteArrayInputstream; import java.io.IOException; import java.io.UnsupportedExcodingException; import java.util.ArrayList; import java.util.Arrays; public class StringTest ( public static void main(String[] args) throws IOException,UnsupportedEncodingException { // TODO Auto-generated method stub String test = "잘라낼 문자열"; final byte[] utf8Bytes = test.getBytes ("UTF-8"); System.out.println(utf8Bytes.length); // 64바이트 크기로 자르기 System.out.println(SplitByByte(test, 64, "\n")); // 64개 글자수로 자르기 System.out.println(SplitChunk (test, 64)); } public static String SplitByByte(String src, int length, String sepa) throws IOException { ByteArrayInputStream bis = new ByteArrayInputStream(src.getBytes()); int n = 0; byte[] buffer = new byte[length]; String result = ""; while ((n = bis.read(buffer)) > 0) { for (byte b : buffer) { result += (char) b; } Arrays.fill(buffer, (byte) 0); result += sepa; } return result; } public static ArrayList<String> SplitChunk(String src, int length) throws IOException { ArrayList<String> result = new ArrayList<String>(); for (int i = 0; i< src.length()/length; i++) { result.add(src.substring (i*length, i*length+length)); } return result; } }
반응형'computer_IT' 카테고리의 다른 글
파이썬 넘파이, 판다스 연습(numpy, pandas) (0) 2022.07.10 파이썬 프로그래밍 연습(이스케이프 처리, 범위, 나누기, 정렬, 리스트, 셋) (0) 2022.07.10 넥사크로 한 개 컬럼에 여러 체크박스 바인딩하기 스크립트 (0) 2022.06.30 타임존 변경, 서버 실행환경, Cron 설정 (0) 2022.06.25 파이썬을 이용한 웹크롤링 연습 (0) 2022.06.19