본문 바로가기

[Java] 자바 문자열 자르기 substring 함수와 주의사항

다프트 코더 2024. 9. 23.
반응형

프로그램을 개발을 하다 보면 문자열 조작을 많이 하게 된다. 특히 문자열을 자르는 경우가 많은데 Java에서 제공하는 문자열 자르는 함수인 substring 함수에 대해서 포스팅한다. substring 함수는 substring(시작위치), substring(시작위치, 끝위치) 이렇게 두 가지 방법으로 사용할 수 있다.

반응형

1. substring(시작위치)

substring(시작위치) 함수는 시작위치를 인자값으로 넘겨 시작위치부터 문자열 끝까지를 자른 문자열을 return 한다.

public static void main(String[] args) {
    String tmp = "ABCDEFGHIJKLMN";
    String substringTmp = tmp.substring(5);
    System.out.println(substringTmp);
}
//결과 = FGHIJKLMN

substring 함수의 첫 번째 인자 값은 시작위치다. 시작위치 값은 0을 포함한 양수 값을 넣는다. 인자값에 5라는 값을 넣었기 때문에 5번째 글자부터 문자열 끝까지 잘라서 return 해준다.

만약 입력값을 0으로 하면 전체 문자열을 return 한다.

public static void main(String[] args) {
    String tmp = "ABCDEFGHIJKLMN";
    String substringTmp = tmp.substring(0);
    System.out.println(substringTmp);
}
//결과 = ABCDEFGHIJKLMN

반응형

2. substring(시작위치, 끝위치)

이번에는 substring 함수에 2개의 인자 값을 넣어서 문자열을 잘라보자. 첫 번째 인자 값은 시작위치, 두 번째 인자 값은 끝위치다.

public static void main(String[] args) {
    String tmp = "ABCDEFGHIJKLMN";
    String substringTmp = tmp.substring(1, 5);
    System.out.println(substringTmp);
}
//결과 = BCDE

끝위치의 문자열은 포함되지 않는다. 끝위치는 -1 한 위치로 생각하면 된다.

3. substring 주의사항

문자열을 substring 함수를 이용해 자를 경우 주의할 점이 있다. substring 함수 인자값에 시작위치나 끝위치를 문자열보다 큰 값을 넣게 되면 java.lang.StringIndexOutOfBoundsException 에러가 발생한다.

Java에서 제공해주는 substring 함수를 이용해 문자열을 자르는 방법을 포스팅했다. 문자열 범위를 벗어나지 않게 주의해서 사용하기를 바란다.

같이 보면 좋은 포스팅

JAVA Quartz 라이브러리를 이용해 스케줄러 배치 프로그램 개발

 

JAVA Quartz 라이브러리를 이용해 스케줄러 배치 프로그램 개발

시스템에서 스케줄러를 이용한 배치 프로그램은 매우 중요한 역할을 한다. 보통 현장에서 데이터를 Summary하거나 시스템간 데이터를 통합 관리할 때 많이 사용한다.과거에는 PL/SQL을 이용해 Batch

daftcoder.tistory.com

자바(JAVA) 최신 버전으로 개발 환경 세팅하기 이클립스(Eclipse), 그래들(Gradle), JDK 22

 

자바(JAVA) 최신 버전으로 개발 환경 세팅하기 이클립스(Eclipse), 그래들(Gradle), JDK 22

최근 자바 개발환경 트렌드가 Maven에서 Gradle로 변화하고 있는 추세다. 그래서 많은 프로젝트들이 Java + Gradle 조합으로 진행되고 있다. 그런데 Java + Gradle 조합 시 서로 버전이 안 맞을 경우 Gradle

daftcoder.tistory.com

이클립스(Eclipse) 자바(JAVA) 스프링부트(Spring Boot) 개발 환경 구성하기

 

이클립스(Eclipse) 자바(JAVA) 스프링부트(Spring Boot) 개발 환경 구성하기

새로 시작한 프로젝트에서 백엔드 개발 업무를 수행하게 되었다. 백엔드 서버 프로그램은 Java 스프링부트로 구현되어 있었다. 기본적인 개발 환경 세팅은 되어있지만 스터디도 할 겸 펫 프로젝

daftcoder.tistory.com

반응형

댓글