반응형
250x250
Notice
Recent Posts
Recent Comments
Link
관리 메뉴

Yeonee's Story

[JAVA] 자바 문자열 자르기 (substring) 본문

728x90
반응형
SMALL

안녕하세요.
https://blog.naver.com/sysysy0302 여니입니다 :)

 

substring() 란?

Java에서 문자열을 원하는 위치에서 자르고 싶은 경우 사용하는 함수가 substring 함수입니다.

 

substring() 종류

substring 함수는 두가지가 있습니다.
첫번째는 인자값을 하나만 받는 함수, 두번째는 인자값을 문자열의 앞에서부터 몇번째 위치인가를 지정하는 함수입니다.

public String substring(int startIndex)
public String substring(int startIndex, int endIndex)

 

1. substring(int startIndex) 

public String substring(int startIndex)


startIndex부터 끝까지의 문자열을 리턴합니다.

substring() 메소드는 위 그림과 같이, substring() 메소드에 파라미터를 1개만 전달(startIndex)하면 문자열의 startIndex부터 끝까지의 문자열을 잘라서 리턴합니다. (index는 0부터 시작합니다.)

예제)

public class SubstringExample {
    public static void main(String[] args) {
 
        String str = "Hello";
 
        System.out.println(str.substring(2)); // "llo"
        System.out.println(str.substring(5)); // ""
        System.out.println(str.substring(-1)); // StringIndexOutOfBoundsException
        System.out.println(str.substring(6)); // StringIndexOutOfBoundsException
 
    }
}
// 출력결과
llo
 
Exception in thread "main" java.lang.StringIndexOutOfBoundsException: String index out of range: -1
        at java.base/java.lang.String.substring(String.java:1841)
        at SubstringExample.main(SubstringExample.java:8)

- str.substring(2);는 "Hello" 문자열 index 2부터('l') 마지막까지 문자열을 잘라서 리턴합니다.
- str.substring(5);는 문자열의 마지막 index + 1 값을 startIndex로 지정하면, 빈 문자열을 리턴합니다.
- str.substring(-1);와 str.substring(6);는 startIndex로 음수값이나, 범위를 벗어나는 값(해당 인덱스는 존재하지 않기 때문에)을 입력하면 "StringIndexOutOfBoundsException" 에러가 발생합니다.

 

2. substring(int startIndex, int endIndex) 

public String substring(int startIndex, int endIndex)


startIndex(포함)부터 endIndex(불포함)까지의 문자열을 리턴합니다.

substring() 메소드는 위 그림과 같이, substring() 메소드에 2개의 파라미터(startIndex, endIndex)를 전달하면 startIndex부터 endIndex까지의 문자열을 잘라서 리턴합니다. 정확하게는 startIndex부터 lastIndex 전까지의 문자열을 잘라서 리턴합니다. (endIndex를 포함하지 않습니다. 이 점에 주의합니다.)


예제)

public class SubstringExample {
    public static void main(String[] args) {
 
        String str = "Hello";
 
        System.out.println(str.substring(2, 4)); // "ll"
        System.out.println(str.substring(2, str.length())); // "llo"
 
    }
}
// 출력결과
ll
llo

- str.substring(2, 4);는 startIndex 2부터 endIndex 4 이전까지의 문자열을 잘라서 리턴합니다.
- str.substring(2, str.length());는 str.substring(2)와 같습니다. startIndex 2부터 마지막 문자열까지를 잘라서 리턴합니다.
 

+ 참조 사이트

728x90
반응형
LIST