어제 오늘 내일

[Java String] String.substring() – 문자열 자르기 본문

IT/Java

[Java String] String.substring() – 문자열 자르기

hi.anna 2025. 8. 25. 02:27

문자열에서 특정 부분만 뽑아내고 싶을 때 가장 많이 사용하는 메서드가 substring()입니다.
이 메서드는 인덱스를 기준으로 문자열의 일부를 잘라 새로운 문자열을 반환합니다.

 

1. 기본 사용법

public String substring(int beginIndex)
public String substring(int beginIndex, int endIndex)
  • beginIndex: 잘라낼 문자열의 시작 위치(포함, 0부터 시작)
  • endIndex: 잘라낼 문자열의 끝 위치(불포함)
String text = "Hello Java";

String part1 = text.substring(6);
String part2 = text.substring(0, 5);

System.out.println(part1); // Java
System.out.println(part2); // Hello

👉 인덱스는 0부터 시작하고, endIndex는 포함되지 않는다는 점이 중요합니다.

 

2. 문자열의 뒷부분 자르기

substring(beginIndex)를 사용하면 지정한 위치부터 끝까지 잘라낼 수 있습니다.

String word = "Programming";
System.out.println(word.substring(6)); 
// mming

👉 인덱스 6부터 끝까지 잘라내 반환합니다.

 

3. 문자열의 앞부분 잘라내기

String word = "Programming";
System.out.println(word.substring(0, 6));
// Progra

👉 0부터 6 직전까지 잘라내므로 "Progra"가 반환됩니다.

 

4. 부분 문자열 응용 예제

파일 확장자 추출

String fileName = "document.pdf";
String ext = fileName.substring(fileName.lastIndexOf(".") + 1);
System.out.println(ext); 
// pdf

URL에서 도메인 추출

String url = "https://www.example.com/index.html";
String domain = url.substring(8, url.indexOf("/", 8));
System.out.println(domain); 
// www.example.com

👉 substring()은 실무에서 특정 구간을 뽑아내는 데 매우 자주 활용됩니다.

 

5. 예외 주의사항

beginIndexendIndex가 문자열 길이 범위를 벗어나면 StringIndexOutOfBoundsException이 발생합니다.

String str = "Java";
System.out.println(str.substring(10)); // 예외 발생

👉 항상 인덱스 범위를 체크해야 안전합니다.

 

6. 정리

  • substring(beginIndex) → 해당 위치부터 끝까지 잘라내기
  • substring(beginIndex, endIndex) → 구간을 지정해 부분 문자열 추출
  • endIndex는 포함되지 않음에 주의
  • 확장자 추출, URL 처리 등 실무에서 매우 자주 쓰임

👉 문자열에서 원하는 부분을 뽑아내려면 String.substring()이 가장 직관적인 도구다!

 

 

반응형
Comments