본문 바로가기

JAVA

[JAVA] StringBuilder 주요 메소드와 사용 방법

String 클래스와 동일 메소드

charAt(int idx) : 특정 인덱스 위치의 문자 반환
indexOf(String str) / lastIndexOf(String str) : 문자열 검색해서 첫번째 / 마지막 위치 반환
substring(int start, (int end)) : 인덱싱. 파라미터가 하나라면 해당 인덱스부터 끝까지, 두개라면 시작점과 끝점-1 까지 인덱싱
length() : 문자열 길이 리턴

 

문자열 처리

추가
.append(String str) : 맨 뒤에 문자열을 추가
.insert(int idx, String str) : idx의 위치에 문자열 추가

삭제
.deleteCharAt(int index) : 인덱스에 위치한 문자 하나를 삭제한다. (sb.deleteCharAt(3))
.delete(int start, int end) : start 부터 end-1 까지의 문자를 삭제한다. (sb.delete(3, sb.length()))

수정
.reverse() : 해당 문자 전체를 뒤집는다. (sb.reverse())
.setCharAt(int index, String s) : index 위치의 문자를 s로 변경
.replace(int start, int end, String s) : start 부터 end-1 까지의 문자를 문자열로 변경
setLength(int len) : 문자열 길이 조정, 현재 문자열보다 길게 조정하면 공백으로 채워짐, 현재 문자열보다 짧게 조정하면 나머지는 삭제
.toString() : String으로 변환한다. (sb.toString())

cf. replace는 String에도 있는 메소드인데, String의 replace는 replace(char[] target, char[] replacement)로 
target 문자열들을 전부 replacement로 바꾼다.

substring 예외 처리

substring에서 파라미터로 넘겨주는 idx가 string의 영역을 넘어가면, StringIndexOutOfBoundsException가 발생할 수 있다.
따라서 try - catch 구분으로 .substring( )을 감싸주는게 바람직하다.

 

⭐정리⭐

  • 문자열 자르기 : substring(start_idx, (end_idx)) → 활용도 굉장히 높음!
  • 문자열 추가 : (끝) append(str) / (중간) insert(idx, str)
  • 문자열 삭제 : (한글자) deleteCharAt(idx) / (구간) delete(start_idx, end_idx)
  • 문자열 수정 : (한글자) setCharAt(idx) / (길이) setLength(len)

참고 : java.lang.StringBuilder (문자열) 주요 메소드 [1/2] (tistory.com)
[Java] StringBuilder 사용법과 주요 메소드 (tistory.com)