728x90
문자열 자르기 - substring()
Java에서 문자열을 원하는 위치에서 잘라야 하는 경우가 있는데 이 때 사용하는 함수가 substring()이다.
생각보다 자주쓰이고 쉬워서 알아두면 좋을 것 같다!
public class Main {
public static void main(String args[]) {
String example = "코딩하는 경제학과";
System.out.println("example.length->" + example.length());
System.out.println(example.substring(5));
System.out.println(example.substring(5,8));
}
}
// example.length->9
// 경제학과
// 경제학
example에는 "코딩학는 경제학과" 라는 String타입의 문자열이 담겨있다.
example.length() 전체 문자열의 크기는 공백포함 9개의 문자로 되어있고, 이 때 index 값은 0부터 시작한다.
(첫 번째 자리에 있다고 1부터 시작한다고 생각하면 큰 to the 일)
문자열 | 코 | 딩 | 하 | 는 | 경 | 제 | 학 | 과 | |
index 값 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 |
substring(5)의 경우 "경제학과"까지 return이 되는데 index값이 이와같이 하나만 들어있을 경우
👉index 시점부터 마지막 문자열까지 출력
substring(5,8)의 경우 "경제학"까지 return이 되는데 index값이 두 개가 들어가 있는 경우
👉substring(시작index, 끝index) 시작index 위치에서 시작해 끝index 전 위치까지의 값을 리턴
error 발생
substring에서 발생하는 에러는 StringIndexOutofBoundsException이 주로 발생한다.
범위를 벗어난 값을 호출할 때 발생하는데 주어진 문자열은 index 범위가 있기 때문에 index 값을 체크해서 사용해야한다.
👉문자열의 length 확인하기!
'👨🏻💻Computer Science > 🙂Java' 카테고리의 다른 글
[Java] ArrayList 한바탕 휩쓸고가기 (0) | 2022.12.11 |
---|---|
[Java] 조건문과 반복문 if for (0) | 2022.12.09 |
[Java] 연산자(Operator) 한 번에 정리하기(+-=:><*%!==?/) (0) | 2022.12.05 |
[Java] 자동 타입변환(Promotion) vs 강제 타입변환(Casting) (0) | 2022.12.04 |
[Java] 변수 (variable) & 기본 타입 (primitive type) (0) | 2022.12.03 |