반응형
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
- CMD
- 배열
- 이탈리아
- HashMap
- 자바
- CSS
- input
- Java
- html
- Button
- table
- 문자열
- IntelliJ
- js
- 자바스크립트
- 이클립스
- Array
- json
- replace
- javascript
- map
- ArrayList
- 인텔리제이
- string
- 정규식
- Visual Studio Code
- Eclipse
- date
- list
- vscode
Archives
- Today
- Total
어제 오늘 내일
[Java StringBuilder] delete() / deleteCharAt() – 문자열 삭제하기 본문
StringBuilder는 문자열을 효율적으로 수정할 수 있는 클래스입니다.
그중에서도 일부 문자열을 지우는 기능을 제공하는 메서드가 delete()와 deleteCharAt()입니다.
1. delete() 기본 사용법
public StringBuilder delete(int start, int end)
start인덱스부터end직전까지의 문자열을 삭제end인덱스는 포함되지 않음 (반개구간)
StringBuilder sb = new StringBuilder("Java Programming");
sb.delete(5, 16);
System.out.println(sb.toString());
// 출력: Java
👉 "Programming" 부분이 삭제되고 "Java "만 남습니다.
2. deleteCharAt() 기본 사용법
public StringBuilder deleteCharAt(int index)
- 지정한 위치의 단일 문자를 삭제
StringBuilder sb = new StringBuilder("abcdef");
sb.deleteCharAt(2);
System.out.println(sb.toString());
// 출력: abdef
👉 인덱스 2의 'c'가 삭제되었습니다.
3. 실전 활용 예제
문자열 중간 공백 제거
StringBuilder sb = new StringBuilder("Hello World");
sb.deleteCharAt(5); // 중복된 공백 제거
System.out.println(sb.toString());
// 출력: Hello World
특정 패턴 삭제
StringBuilder sb = new StringBuilder("2025-08-22");
sb.delete(4, 5); // '-' 제거
sb.delete(6, 7); // 두 번째 '-' 제거
System.out.println(sb.toString());
// 출력: 20250822
👉 날짜 문자열을 포맷 변경할 때 유용합니다.
문자열 길이 조절
StringBuilder sb = new StringBuilder("This is a long text");
sb.delete(10, sb.length());
System.out.println(sb.toString());
// 출력: This is a
👉 substring처럼 문자열을 잘라낼 수 있습니다.
4. 주의할 점
delete()와deleteCharAt()에서 인덱스 범위를 벗어나면StringIndexOutOfBoundsException발생delete(start, end)는start == end일 경우 아무 것도 삭제하지 않음
StringBuilder sb = new StringBuilder("Hello");
// sb.delete(10, 12); // 예외 발생
5. 정리
delete(start, end)→ 특정 구간 삭제deleteCharAt(index)→ 단일 문자 삭제- 문자열 중간 공백 제거, 포맷 변경, 잘라내기 등에 활용
- 인덱스 범위 유효성 체크 필요
👉 문자열 일부를 지워야 한다면 StringBuilder.delete()와 deleteCharAt()을 기억해 두자!
반응형
'IT > Java' 카테고리의 다른 글
| [Java] ArrayList로 2차원 배열 만들기, 활용하기 (0) | 2025.08.23 |
|---|---|
| [Java String] String.split() – 문자열을 원하는 기준으로 나누기 (0) | 2025.08.22 |
| [Java 기초] Arrays.stream()으로 배열을 스트림으로 변환하기 (0) | 2025.08.22 |
| [Java] 문자열 사전순 비교 방법 (compareTo, 정렬, 대소문자 무시) (1) | 2025.08.22 |
| [Java] 로또 번호 생성하기 (1) | 2025.03.22 |
Comments