substring() 메서드에 대해서 알아보려고한다.
문자열에서 내가 원하는 문자를 가져오고 싶을때 잘라서 가져올수 있게끔 해주는 메서드이다.
String str = "ABCDEFG"; // 대상 문자열은 각각 아래와 같은 Index값을 가진다. /* A = 0, B = 1, C = 2, D = 3, E = 4, F = 5, G = 6 */ /*substring(시작위치,끝위치) 결과값 = DEF*/
substring()은 두가지 방법으로 쓰인다.
- str.substring(a)
- str.substring(a,b)
첫번째의 경우는 str문자열 중에서 a번째부터 시작하여 값을 가져오게된다.
두번째의 경우는 a는 시작지점 b는 종료지점으로 a~b 이전까지의 값을 가져오게 된다.
String str = "ABCDEFG"; str.substring(3); /* substring(시작위치) 결과값 = DEFG */ str.substring(3, 6); /*substring(시작위치,끝위치) 결과값 = DEF*/ str.substring(3, 4); /*substring(시작위치,끝위치) 결과값 = D*/
해당 메서드를 응용하여 사용하는 방법을 예시로 아래 작성하니 참고 부탁드립니다
//2. 특정문자 이후의 문자열 출력
str = "ABCD/DEFGH";
String result = str.substring(str.lastIndexOf("/")+1); // "/" 문자 이후 문자열부터 끝까지
System.out.println(result); // end 값을 넣지 않을경우 값은 문자열 끝으로 잡힌다.
//결과값 DEFGH
문자열을 나누는 메서드는 substring()을 제외하고도 몇가지가 더있습니다.
여기서는 2가지를 추가로 다뤄보도록 하겠습니다.
- substr()
- slice()
substr(a,b)
= a부터 b의 길이만큼 출력
slice(a,b)
= a번째부터 b번째 전까지 출력
slice는 substring과 같은 결과값을 나타내고 substr은 다른 결과값을 나타내게 됩니다. 사용하시려는 목적에 따라서 활용하시면 됩니다.