Java. String 메서드 - substring()

kimkim·2024년 10월 25일

Java. 공부내용정리

목록 보기
36/38
post-thumbnail

substring()

: String 클래스에서 제공하는 메서드
: 주어진 문자열의 일부를 새로운 문자열로 반환한다.
: 원본 문자열을 수정하지 않고 새로운 String 객체로 만들어진다.

사용방법

  • substring(시작하는 숫자)
    : 넣어진 시작하는 숫자부터 문자열 끝까지 주출한다.
  • substring(시작하는 숫자,끝나는 숫자)
    : 넣어진 시작하는 숫자부터 끝나는 숫자 문자 까지 주출한다.

속성

  • 반환값은 항상 String 타입이다
  • 기존에 있는 문자열을 건들지 않고 새로운 String 객체를 만든다.
  • 시작하는 숫자는 입력되어야 하지만 끝나는 숫자는 필요에 따라 넣어도 안넣어도 된다.
  • 시작하는 숫자는 포함되지만, 끝나는 숫자는 포함되지 않는다.
  • 시작하는 숫자끝나는 숫자int타입이어야 한다.
  • 추출하는 문자열의 인덱스는 0부터 인식하여 첫번째 문자열의 인덱스는 0이다.

활용법

문자열 뒤에서 반환하기

public class test {
    public static void main(String[] args) {
        String str = "qwerasdfzxcv";
        // 마지막 3글자 추출
        String str1 = str.substring(str.length() - 4);
        System.out.println(str1);  // 출력: "zxcv"
    }
}
  • 추출할 문자열 길이에서 부터 원하는 위치까지 -로 빼면
    그 시작점에서 끝까지 반환할 수 있다

에러

StringIndexOutOfBoundsException

  • 발생 조건
    • 시작하는 숫자가 0보다 작은 음수일 경우
      예) str.substring(-5)
    • 시작하는 숫자가 문자열길이보다 클 경우
      예) 전체 문자열 길이 : 8 | str.substring(10)
    • 시작하는 숫자끝나는 숫자보다 클 경우
      예) str.substring(10,5)
    • 끝나는 숫자가 문자열길이보다 클 경우
      예) 전체 문자열 길이 : 8 | str.substring(5,10)
    • 추출할 문자열이 null일 경우
      예) 전체 문자열 길이 : null

결론

  • substring()은 문자열을 인덱스화 해서 String으로 추출한다.
  • 시작하는 인덱스와 끝나는 인덱스를 받을 수 있으며 시작하는 인덱스는 포함하고 끝나는 인덱스는 포함하지 않는다.
  • 입력할 인덱스가 문자열에 있는 인덱스인지, 길이가 맞는지 확인하여 사용해야 에러를 방지할 수 있다.
  • 문자열전체를 반환할 필요가 없는 경우에는 남용하지 않도록 한다.

0개의 댓글