반응형
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 | 31 |
Tags
- table
- IntelliJ
- 자바스크립트
- list
- json
- Visual Studio Code
- replace
- Eclipse
- Java
- CMD
- javascript
- js
- 정규식
- date
- string
- map
- vscode
- HashMap
- 이탈리아
- 이클립스
- ArrayList
- Button
- 인텔리제이
- 자바
- html
- CSS
- Array
- 문자열
- input
- 배열
Archives
- Today
- Total
어제 오늘 내일
[Java StringBuffer] delete(), deleteCharAt() – 문자열 삭제하기 본문
StringBuffer
는 문자열을 다루는 데 있어 삽입, 교체뿐 아니라 삭제 기능도 제공합니다.
특히 delete()
와 deleteCharAt()
메서드를 이용하면 원하는 범위나 특정 문자 하나를 간단히 지울 수 있습니다.
1. delete() 기본 사용법
public synchronized StringBuffer delete(int start, int end)
start
인덱스부터end
직전까지 삭제end
인덱스는 포함되지 않음
StringBuffer sb = new StringBuffer("Java Programming");
sb.delete(5, 16);
System.out.println(sb.toString());
// 출력: Java
👉 "Programming"
이 삭제되고 "Java "
만 남습니다.
2. deleteCharAt() 기본 사용법
public synchronized StringBuffer deleteCharAt(int index)
- 특정 인덱스의 문자 하나만 삭제
StringBuffer sb = new StringBuffer("abcdef");
sb.deleteCharAt(2);
System.out.println(sb.toString());
// 출력: abdef
👉 인덱스 2
에 있던 'c'
가 삭제되었습니다.
3. 실전 활용 예제
문자열 중복 공백 제거
StringBuffer sb = new StringBuffer("Hello World");
sb.deleteCharAt(5);
System.out.println(sb.toString());
// 출력: Hello World
👉 불필요한 공백을 쉽게 제거할 수 있습니다.
날짜 포맷 변경
StringBuffer sb = new StringBuffer("2025-08-23");
sb.delete(4, 5); // 첫 번째 '-' 삭제
sb.delete(6, 7); // 두 번째 '-' 삭제
System.out.println(sb.toString());
// 출력: 20250823
👉 문자열 포맷을 자유롭게 변형할 수 있습니다.
문자열 길이 줄이기
StringBuffer sb = new StringBuffer("This is a long text");
sb.delete(10, sb.length());
System.out.println(sb.toString());
// 출력: This is a
👉 substring
처럼 문자열을 잘라내는 효과를 낼 수 있습니다.
4. 주의할 점
- 인덱스 범위를 벗어나면
StringIndexOutOfBoundsException
발생 delete(start, end)
에서start == end
라면 아무 일도 일어나지 않음
StringBuffer sb = new StringBuffer("Test");
// sb.delete(10, 12); // 예외 발생
5. 정리
delete(start, end)
→ 특정 범위 삭제deleteCharAt(index)
→ 단일 문자 삭제- 문자열 포맷 변경, 공백 제거, 잘라내기 등에 활용
- 스레드 안전 (
synchronized
)
🔑 한 줄 정리
👉 문자열 일부를 지우려면 StringBuffer.delete()
또는 deleteCharAt()
을 활용하자!
반응형
'IT > Java' 카테고리의 다른 글
[Java StringBuffer] length(), capacity(), ensureCapacity(), setLength(), trimToSize() – 길이와 버퍼 관리 (0) | 2025.09.26 |
---|---|
[Java StringBuffer] replace() – 문자열 일부 교체하기 (0) | 2025.09.26 |
[Java StringBuffer] insert() – 원하는 위치에 문자열 삽입하기 (0) | 2025.09.25 |
[Java StringBuffer] append() – 문자열 이어붙이기 (0) | 2025.09.24 |
[Java StringBuilder] toString() – 최종 문자열 변환하기 (1) | 2025.09.24 |
Comments