상세 컨텐츠

본문 제목

[자바 함수] <substring>문자열 자르기 사용법

자바 함수 모음

by jjrroo 2024. 3. 9. 16:11

본문

자바의 java.lang.string클래스의 substring을 사용하면 문자열을 사용할수 있다.

<substring 사용법 두가지 >

2가지 형태로 사용이 가능하다. 

- public String substring(int startIndex)

- public String substring(int startIndex,int endIndex)

 

인덱스 번호 예시

 

위 그림은 왼쪽부터 [0][1][2][3][4] 로 인덱스 번호의 예시 그림이다.

 

 

<public String substring(int startIndex)>

- startIndex 처음부터 끝까지 문자열을 리턴한다.

 

ex

	  String str ="ABCDE";
	  System.out.println(str.substring(2));
      System.out.println(str.substring(3));
      System.out.println(str.substring(-1));

 

결과

CDE
DE
Exception in thread "main" java.lang.StringIndexOutOfBoundsException: begin -1, end 5, length 5
	at java.base/java.lang.String.checkBoundsBeginEnd(String.java:4608)
	at java.base/java.lang.String.substring(String.java:2711)
	at java.base/java.lang.String.substring(String.java:2684)
	at variable.Var5.main(Var5.java:19)

 위 예제를 보면 알수있듯이 index 2을 입력시 index번호 2부터 끝까지 잘라서 리턴해준다. 

그리고 마지막 index 값을 -1처럼 음수값이나, 범위를 벗어나는 값을 입력하면 StringIndexOutOfBoundsException 오류가 발생하기 때문에 주의해야한다.

참고로 index번호는 0부터 시작이다. 예제는 [0][1][2][3][4] 이고 length는 5이다.

 

 

 

<substring(int startIndex, int endIndex)>

- startIndex부터 endIndex전까지 리턴해준다.

 

예제코드

        String str ="ABCDE";
        System.out.println(str.substring(1,3));
        System.out.println(str.substring(2,str.length()));

 

 

결과

BC
CDE

(str.substring(1,3))

위 그림과 같은 예제로 startIndex 1부터 3이전까지 문자열을 잘라서 리턴합니다. 

 

(str.substring(2,str.length));

startIndex 2부터 마지막 문자열까지 잘라서 리턴합니다.