반응형
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- Array
- vscode
- CMD
- ArrayList
- input
- replace
- string
- html
- 자바
- json
- HashMap
- date
- 이클립스
- 문자열
- Button
- list
- 자바스크립트
- table
- Eclipse
- Visual Studio Code
- 정규식
- javascript
- Java
- 인텔리제이
- CSS
- 배열
- IntelliJ
- js
- map
- 이탈리아
Archives
- Today
- Total
어제 오늘 내일
[Java StringBuilder] insert() – 원하는 위치에 문자열 삽입하기 본문
append()
가 문자열을 뒤에 붙이는 기능이라면, insert()
는 원하는 위치에 문자열이나 데이터를 끼워 넣을 수 있습니다.
문자열 수정이 잦은 상황에서 아주 유용하게 쓰이는 메서드입니다.
1. insert() 기본 사용법
public StringBuilder insert(int offset, String str)
offset
위치에str
을 삽입- 기존 문자열은 잘리지 않고, 지정한 위치부터 오른쪽으로 밀림
StringBuilder sb = new StringBuilder("Java World");
sb.insert(5, "Programming ");
System.out.println(sb.toString());
// 출력: Java Programming World
👉 "Java "
뒤에 "Programming "
을 끼워 넣었습니다.
2. 다양한 오버로드
insert()
는 문자열뿐 아니라 숫자, 불리언, 문자 등 다양한 타입도 지원합니다.
StringBuilder sb = new StringBuilder("Hello!");
sb.insert(5, 123); // 숫자 삽입
sb.insert(0, true); // 맨 앞에 불리언 삽입
sb.insert(4, 'X'); // 중간에 문자 삽입
System.out.println(sb.toString());
// 출력: trueHellXo123!
👉 다양한 타입을 자연스럽게 문자열에 삽입할 수 있습니다.
3. 실전 활용 예제
날짜 포맷팅
StringBuilder sb = new StringBuilder("20250822");
sb.insert(4, "-"); // 연-월 구분
sb.insert(7, "-"); // 월-일 구분
System.out.println(sb.toString());
// 출력: 2025-08-22
👉 문자열을 직접 잘라 합치는 것보다 훨씬 직관적이고 편리합니다.
HTML 태그 감싸기
StringBuilder sb = new StringBuilder("OpenAI");
sb.insert(0, "<b>");
sb.insert(sb.length(), "</b>");
System.out.println(sb.toString());
// 출력: <b>OpenAI</b>
👉 출력 문자열을 특정 태그로 감싸야 할 때도 insert()
로 쉽게 구현할 수 있습니다.
4. 주의할 점
offset
이 문자열 길이보다 크거나 음수라면StringIndexOutOfBoundsException
발생- 삽입 위치는 0부터 시작하는 인덱스 기준
StringBuilder sb = new StringBuilder("Test");
// sb.insert(10, "X"); // 에러 발생
5. 정리
insert(offset, data)
→ 원하는 위치에 문자열이나 데이터를 삽입- 문자열, 숫자, 불리언, 문자 등 다양한 타입 지원
- 날짜 포맷, 태그 삽입, 문자열 가공에 유용
- 인덱스 범위 체크 필수
👉 문자열 중간에 새로운 내용을 추가하고 싶을 때는 StringBuilder.insert()
를 쓰자!
반응형
'IT > Java' 카테고리의 다른 글
[Java StringBuilder] replace() – 문자열 일부 교체하기 (0) | 2025.09.21 |
---|---|
[Java StringBuilder] append() – 문자열 이어붙이기 (0) | 2025.09.20 |
[Java String] toUpperCase(), toLowerCase() – 대소문자 변환하기 (0) | 2025.09.19 |
[Java String] compareTo() vs compareToIgnoreCase() – 문자열 사전순 비교 (0) | 2025.09.19 |
[Java String] equals() vs equalsIgnoreCase() – 문자열 비교하기 (0) | 2025.09.18 |
Comments