반응형
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
- js
- Visual Studio Code
- 배열
- json
- 이클립스
- list
- 자바스크립트
- Java
- CSS
- IntelliJ
- input
- 인텔리제이
- vscode
- Button
- CMD
- HashMap
- table
- html
- map
- 문자열
- ArrayList
- date
- 이탈리아
- Array
- Eclipse
- 정규식
- 자바
- javascript
- string
- replace
Archives
- Today
- Total
어제 오늘 내일
[Java StringBuilder] substring() – 부분 문자열 추출하기 본문
StringBuilder는 문자열을 수정하는 클래스지만, 특정 구간을 잘라서 String으로 반환할 수도 있습니다.
이때 사용하는 메서드가 바로 substring()입니다.
1. substring() 기본 사용법
public String substring(int start)
public String substring(int start, int end)
start부터 끝까지 잘라내거나,start부터end직전까지 잘라냄- 반환 타입은
String(주의:StringBuilder가 아님)
StringBuilder sb = new StringBuilder("Hello Java");
String part1 = sb.substring(6);
String part2 = sb.substring(0, 5);
System.out.println(part1); // Java
System.out.println(part2); // Hello
👉 StringBuilder에서 잘라낸 부분은 String으로 리턴됩니다.
2. 문자열 일부 추출 예제
파일 확장자 추출
StringBuilder file = new StringBuilder("report.pdf");
int dotIndex = file.lastIndexOf(".");
String ext = file.substring(dotIndex + 1);
System.out.println(ext);
// pdf
👉 StringBuilder에서도 확장자를 뽑아낼 수 있습니다.
URL에서 도메인 추출
StringBuilder url = new StringBuilder("https://www.example.com/index.html");
String domain = url.substring(8, url.indexOf("/", 8));
System.out.println(domain);
// www.example.com
👉 부분 문자열 처리에는 substring()이 가장 직관적입니다.
3. 주의할 점
substring()은 원본StringBuilder를 수정하지 않음 → 안전하게 사용 가능- 반환 타입은
String이라StringBuilder메서드 체이닝에는 쓸 수 없음 - 인덱스 범위를 벗어나면
StringIndexOutOfBoundsException발생
StringBuilder sb = new StringBuilder("Java");
// sb.substring(10); // 예외 발생
4. 정리
substring(start)→start부터 끝까지substring(start, end)→start부터end직전까지- 결과는
String으로 반환 (원본 변경 없음) - 부분 문자열 추출, 파일/URL 처리에 자주 활용
🔑 한 줄 정리
👉 StringBuilder에서 특정 구간만 잘라내려면 substring()을 사용하면 된다!
반응형
'IT > Java' 카테고리의 다른 글
| [Java StringBuffer] append() – 문자열 이어붙이기 (0) | 2025.09.24 |
|---|---|
| [Java StringBuilder] toString() – 최종 문자열 변환하기 (1) | 2025.09.24 |
| [Java StringBuilder] charAt(), setCharAt() – 특정 문자 읽기와 수정하기 (0) | 2025.09.23 |
| [Java StringBuilder] setLength() – 문자열 길이 강제로 조정하기 (0) | 2025.09.22 |
| [Java StringBuilder] capacity(), ensureCapacity() – 내부 버퍼 관리 (0) | 2025.09.22 |
Comments