반응형
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
- CMD
- 자바스크립트
- 이탈리아
- CSS
- Java
- Button
- table
- json
- js
- 자바
- vscode
- Array
- 배열
- map
- javascript
- IntelliJ
- input
- 이클립스
- replace
- string
- 문자열
- Eclipse
- list
- html
- HashMap
- date
- ArrayList
- 정규식
- Visual Studio Code
- 인텔리제이
Archives
- Today
- Total
어제 오늘 내일
[Java StringBuffer] substring() – 부분 문자열 추출하기 본문
StringBuffer
는 가변 문자열을 다루지만, 특정 구간을 잘라낼 때는 불변 문자열(String
)을 반환하는 substring()
메서드를 제공합니다.
즉, StringBuffer
에서 원하는 부분만 잘라서 새로운 String을 얻을 수 있습니다.
1. substring() 기본 사용법
public synchronized String substring(int start)
public synchronized String substring(int start, int end)
start
부터 끝까지 또는start
부터end
직전까지 문자열을 잘라String
으로 반환
StringBuffer sb = new StringBuffer("Hello Java");
String part1 = sb.substring(6);
String part2 = sb.substring(0, 5);
System.out.println(part1); // Java
System.out.println(part2); // Hello
👉 결과는 String
객체이며, 원본 StringBuffer
는 변하지 않습니다.
2. 실전 활용 예제
파일 확장자 추출
StringBuffer file = new StringBuffer("report.pdf");
int dotIndex = file.lastIndexOf(".");
String ext = file.substring(dotIndex + 1);
System.out.println(ext);
// pdf
👉 substring()
을 이용해 확장자를 뽑아낼 수 있습니다.
경로에서 파일명 추출
StringBuffer path = new StringBuffer("C:/Users/John/report.docx");
int slashIndex = path.lastIndexOf("/");
String filename = path.substring(slashIndex + 1);
System.out.println(filename);
// report.docx
👉 파일 경로나 URL에서 마지막 구분자 뒤 문자열을 쉽게 추출할 수 있습니다.
3. 주의할 점
- 반환 타입은
String
이므로StringBuffer
메서드 체이닝 불가 - 인덱스 범위를 벗어나면
StringIndexOutOfBoundsException
발생
StringBuffer sb = new StringBuffer("Java");
// sb.substring(10); // 예외 발생
4. 정리
substring(start)
→ start부터 끝까지 잘라String
반환substring(start, end)
→ 구간 지정하여 잘라String
반환- 원본
StringBuffer
는 변하지 않음 - 파일명, 확장자, URL 파싱 등에 유용
🔑 한 줄 정리
👉 StringBuffer
에서 원하는 구간만 추출해 String
으로 얻으려면 substring()
을 쓰자!
반응형
'IT > Java' 카테고리의 다른 글
[Java Character] 주요 메소드 정리와 활용 예제 (0) | 2025.09.28 |
---|---|
[Java StringBuffer] toString() – 최종 문자열 변환하기 (0) | 2025.09.28 |
[Java StringBuffer] charAt(), setCharAt() – 특정 문자 읽기와 수정하기 (0) | 2025.09.27 |
[Java StringBuffer] length(), capacity(), ensureCapacity(), setLength(), trimToSize() – 길이와 버퍼 관리 (0) | 2025.09.26 |
[Java StringBuffer] replace() – 문자열 일부 교체하기 (0) | 2025.09.26 |
Comments