어제 오늘 내일

[Java] 문자열 자르기 (substring) 본문

IT/Java

[Java] 문자열 자르기 (substring)

hi.anna 2021. 4. 27. 06:09

Java에서 java.lang.String 클래스의 substring() 메소드를 사용하여

문자열을 자르는 방법을 소개합니다.

 

 

문자열 자르기 - substring()

java.lang.String 클래스의 substring() 메소드는

문자열의 특정 부분을 잘라내는 데 사용합니다.

 

 

 Method Signature 

substring() 메소드는 다음과 같이 2가지 형태로 사용할 수 있습니다.

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

 

 

 

 substring(int startIndex) 

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

public String substring(int 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이 발생합니다.

 

 

 

 substring(int startIndex, int endIndex) 

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

public String substring(int startIndex, int endIndex)

substring() 메소드는

위 그림과 같이

substring() 메소드에 2개의 파라미터를 전달하면(startIndex, endIndex)

startIndex부터 endIndex까지의 문자열을 잘라서 리턴합니다.

정확하게는 startIndex부터 lastIndex 전까지의 문자열을 잘라서 리턴합니다.

 

  코드  

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부터 마지막 문자열까지를 잘라서 리턴합니다.

 

 

 

반응형
Comments