반응형
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
- Java
- html
- 문자열
- 정규식
- 이탈리아
- CMD
- HashMap
- list
- 자바
- string
- Array
- 자바스크립트
- date
- IntelliJ
- replace
- CSS
- Button
- map
- js
- Visual Studio Code
- json
- 이클립스
- javascript
- vscode
- table
- ArrayList
- 인텔리제이
- 배열
- input
- Eclipse
Archives
- Today
- Total
어제 오늘 내일
[Java StringBuilder] replace() – 문자열 일부 교체하기 본문
StringBuilder.replace()
는 특정 구간의 문자열을 다른 문자열로 바꿀 수 있는 메서드입니다.
기존 문자열을 새로 만들지 않고 내부 버퍼에서 직접 수정하기 때문에 효율적입니다.
1. replace() 기본 사용법
public StringBuilder replace(int start, int end, String str)
start
인덱스부터end
직전까지 문자열을str
로 교체end
는 포함되지 않는 반개구간
StringBuilder sb = new StringBuilder("Hello Java");
sb.replace(6, 10, "World");
System.out.println(sb.toString());
// 출력: Hello World
👉 "Java"
가 "World"
로 교체되었습니다.
2. 문자열 일부 교체 예제
단어 교체
StringBuilder sb = new StringBuilder("I like C++");
sb.replace(7, 10, "Java");
System.out.println(sb.toString());
// 출력: I like Java
중간 문자열 바꾸기
StringBuilder sb = new StringBuilder("2025/08/22");
sb.replace(4, 5, "-"); // 첫 번째 '/' → '-'
sb.replace(7, 8, "-"); // 두 번째 '/' → '-'
System.out.println(sb.toString());
// 출력: 2025-08-22
👉 특정 위치 문자열 치환에 유용합니다.
3. 다른 메서드와 비교
delete()
+insert()
조합과 비슷하지만,replace()
는 두 과정을 한 번에 처리String.replace()
와 달리 부분 인덱스를 지정해야 함
StringBuilder sb = new StringBuilder("abcdef");
sb.replace(2, 4, "ZZ");
System.out.println(sb.toString());
// 출력: abZZef
👉 delete(2,4)
+ insert(2,"ZZ")
와 같은 효과입니다.
4. 주의할 점
- 인덱스 범위를 벗어나면
StringIndexOutOfBoundsException
발생 start == end
인 경우, 해당 위치에 문자열 삽입 효과 발생
StringBuilder sb = new StringBuilder("Hello");
sb.replace(5, 5, " World");
System.out.println(sb.toString());
// 출력: Hello World
👉 이 경우 사실상 insert()
처럼 동작합니다.
5. 정리
replace(start, end, str)
→ 특정 구간 문자열을 다른 문자열로 교체delete()
+insert()
를 합친 기능- 문자열 포맷 변경, 특정 구간 치환 등에 유용
- 인덱스 범위 주의 필요
👉 문자열 일부를 바꾸고 싶다면 StringBuilder.replace()
가 가장 직관적인 선택!
반응형
'IT > Java' 카테고리의 다른 글
[Java StringBuilder] reverse() – 문자열 뒤집기 (0) | 2025.09.21 |
---|---|
[Java StringBuilder] insert() – 원하는 위치에 문자열 삽입하기 (0) | 2025.09.20 |
[Java StringBuilder] append() – 문자열 이어붙이기 (0) | 2025.09.20 |
[Java String] toUpperCase(), toLowerCase() – 대소문자 변환하기 (0) | 2025.09.19 |
[Java String] compareTo() vs compareToIgnoreCase() – 문자열 사전순 비교 (0) | 2025.09.19 |
Comments