Java - 문자열에서 Index로 문자 가져오기

String에서 특정 Index의 문자를 가져오는 방법을 소개합니다.

1. String.charAt() 함수로 Index의 문자 가져오기

charAt()는 문자열에서 인자로 전달된 Index의 문자 1개를 리턴합니다. char 자료형으로 리턴되며, char를 String으로 변경하려면 String.valueOf()을 사용하여 변경하면 됩니다.

아래 예제는 Index 4의 문자를 가져와서 String으로 변환하는 예제입니다.

public class Example {

    public static void main(String[] args) {

        String str = "Hello, World";

        char ch = str.charAt(4);
        System.out.println("ch(char): " + ch);

        String chStr = String.valueOf(ch);
        System.out.println("ch(string): " + chStr);
    }
}

Output:

ch(char): o
ch(string): o

2. char 배열로 변환하여 Index의 문자 가져오기

charAt()를 사용하는 대신에, String.toCharArray() 함수로 문자열을 char 배열로 변환하고 Index의 문자를 가져올 수 있습니다.

아래 예제는 Index 4의 문자를 가져와서 String으로 변환하는 예제입니다.

public class Example1 {

    public static void main(String[] args) {

        String str = "Hello, World";

        char[] chArr = str.toCharArray();
        char ch = chArr[4];
        System.out.println("ch(char): " + ch);

        String chStr = String.valueOf(ch);
        System.out.println("ch(string): " + chStr);
    }
}

Output:

ch(char): o
ch(string): o

3. 문자열에서 Index 범위의 문자들 가져오기

문자열에서 문자 1개가 아닌, Index 범위의 문자들을 가져올 수도 있습니다.

String.getChars()는 문자열의 문자들을 가져와서 다른 배열에 저장합니다.

public void getChars(int srcBeginIndex, int srcEndIndex, char[] destination, int dstBeginIndex)
  • srcBeginIndex: 가져오려는 문자열 범위의 시작 Index
  • srcEndIndex: 가져오려는 문자열 범위의 끝 Index, 끝 Index의 직전 Index까지만 문자를 가져옴.
  • destination: 문자를 가져와서 복사할 char 배열 객체
  • dstBeginIndex: 가져온 문자들을, destination 배열의 어떤 Index 부터 저장할지를 의미

아래 예제는 문자열 str의 Index 0에서 5의 문자들을 chArr 배열에 저장합니다. 참고로, Index 5의 문자는 가져오지 않고 Index 4까지만 가져옵니다. 그리고 chArr은 Index 0부터 저장이 됩니다.

public class Example2 {

    public static void main(String[] args) {

        String str = "Hello, World";

        char[] chArr = new char[5];
        str.getChars(0, 5, chArr, 0);

        String subStr = String.valueOf(chArr);
        System.out.println("subStr: " + subStr);
    }
}

Output:

subStr: Hello

3.1 배열 길이만큼만 문자열 읽고 배열에 저장

다음과 같이 length를 사용하면, Index 0에서 생성한 char 배열 길이만큼만 문자열을 읽어서 배열에 저장할 수 있습니다.

public class Example2 {

    public static void main(String[] args) {

        String str = "Hello, World";
        char[] chArr = new char[8];
        str.getChars(0, chArr.length, chArr, 0);

        String subStr = String.valueOf(chArr);
        System.out.println("subStr: " + subStr);
    }
}

Output:

subStr: Hello, W
Loading script...

Related Posts

codechachaCopyright ©2019 codechacha