자바 문자열 String Class 함수 substring()

2022. 10. 20. 14:28

substring()  은 문자열을 인덱스를 부여하여 일부값만 출력이 가능하게 함.
사용법 : (바꾸고자하는 문자열변수).substring(시작인덱스값); // 시작인덱스값을 "제외"하고 출력
사용법 : (바꾸고자하는 문자열변수).substring(시작인덱스값, 마지막 인덱스 값);
                                                                          // 시작인덱스값을 "포함"하고 마지막인덱스 값을 제외한 사이의 값을 출력

<예제>
String str = "Java is Fun."; // 문자열을 각문자별로 쪼개어 인덱스를 부여해보면

String substring1 = str.substring(0, 4); // str 변수에 문자열을 0번째 인덱스 부터 4번째 인덱스 제외한 사이의 값을 출력.
                                                             // 0,1,2,3 인덱스값 출력예정
String substring1 = str.substring(1, 5); // str 변수에 문자열을 1번째 인덱스 부터 5번째 인덱스를 제외한 사이의 값을 출력.
String substring2 = str.substring(5); // str 변수에 문자열을 5번째 인덱스부터 출력하는데 5번째 인덱스값을 제외함
String substring3 = str.substring(5, str.length()); // str.length() 생략가능

public class StringSubStringExample {
    public static void main(String[] args) {
        String str = "Java is Fun.";
        String substring1 = str.substring(0, 4);
        String substring2 = str.substring(5);
        String substring3 = str.substring(5, str.length()); // str.length() 생략가능

        System.out.println("substring1 = " + substring1);
        System.out.println("substring2 = " + substring2);
        System.out.println("substring3 = " + substring3);

        String substring4 = subString(str, 0, 4);
        String substring5 = subString(str, 5);
        String substring6 = subString(str, 5, str.length()); // str.length() 생략가능

        System.out.println("substring1 = " + substring4);
        System.out.println("substring2 = " + substring5);
        System.out.println("substring3 = " + substring6);
    }

    // 객체지향적인 코드는 아님
    // 객체지향적인 코드는 문자열.substring(...) // 문자열 will be substituted from ... to ...;
    // 해당 코드 호출은 subString(문자열, ...) // substitute 문자열 from ... to ...;
    public static String subString(String s, int beginIndex, int endIndex) {
        String result = "";
        for(int i = beginIndex; i < endIndex; i++) {
            result += s.charAt(i);
        }
        return result;
    }

    public static String subString(String s, int beginIndex) {
        String result = "";
        for(int i = beginIndex; i < s.length(); i++) {
            result += s.charAt(i);
        }
        return result;
    }
}

BELATED ARTICLES

more