반응형
- substring을 이용한 문자열 자르기 -
substring()
- String[] substring(int index)
- String[] substring(int index, int endIndex)
- substring() 함수는 입력받은 위치를 기준으로 문자열을 잘라 리턴하는 함수이다.
예제 1) substring() 기본 사용법
public class SubstringTest{
public static void main(String[] args){
String str1 = "나의 자바 테스트";
System.out.println( str1.substring(3) ); // 자바 테스트
System.out.println( str1.substring(2,5) ); // 자바
}
}
왜 저런 결과가 나오는지 알아보자
1. str1.substring(3) 이것의 의미는 "3번index" 부터 보여달라 그런 의미로 보면 된다.
(인덱스는 공백을 포함한다.)
문자열 | 나 | 의 | 자 | 바 | 테 | 스 | 트 | ||
index | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 |
2. str1.substring(2,5) 이것의 의미는"2번 index" 부터 "5번 index" 되기 전까지 보여달라 그런 의미이다.
문자열 | 나 | 의 | 자 | 바 | 테 | 스 | 트 | ||
index | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 |
5번 index까지 보여주는 게 아니라 끝부분으로 5번 index를 지정한 것으로
해당 index 그전까지 (즉 위 예제를 보면 5를 지정했으니 4까지 보여주는 것이다) 보여준다 생각하면 된다.
그래서 위의 결과값을 보면 "자바" 앞에는 공백이 있지만 뒤에는 공백이 없다.
그럼 만약 index를 오버해서 지정하면 어떻게 될까?
System.out.println( str1.substring(2,10) );
Exception in thread "main" java.lang.StringIndexOutOfBoundsException: String index out of range: 10
흔하게 볼 수 있는 범위를 벗어났다는 에러를 출력하게 된다.
정확한 길이를 측정하여 사용하는 것이 중요하다.
반응형
댓글