반응형
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
- 정규식
- ArrayList
- html
- 문자열
- Java
- map
- Visual Studio Code
- replace
- Eclipse
- 이클립스
- date
- CMD
- HashMap
- 자바
- 이탈리아
- 인텔리제이
- string
- 자바스크립트
- json
- Array
- vscode
- table
- Button
- 배열
- list
- CSS
- javascript
- IntelliJ
- input
- js
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 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 |
[Java StringBuilder] reverse() – 문자열 뒤집기 (0) | 2025.09.21 |
Comments