자바의 java.lang.string클래스의 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부터 마지막 문자열까지 잘라서 리턴합니다.