SeouliteLab

[Java/자바] 문자열 한 글자씩 자르기 본문

프로그래밍

[Java/자바] 문자열 한 글자씩 자르기

Seoulite Lab 2024. 3. 7. 08:51

Java에서 문자열을 한 글자씩 자르는 여러 가지 방법을 알아보겠습니다. 문자열을 한 글자씩 자를 때는 charAt() 메서드, substring() 메서드, toCharArray() 메서드 등을 사용할 수 있습니다.

1. charAt() 메서드를 사용하여 문자열 한 글자씩 자르기

charAt() 메서드를 사용하면 문자열의 특정 인덱스에 위치한 문자를 가져올 수 있습니다. 이를 활용하여 문자열을 한 글자씩 자를 수 있습니다.

예제 1. charAt() 메서드를 사용하여 문자열 한 글자씩 자르기

// 사용되는 디렉토리: src/com/example
// 파일명: CharAtExample.java

public class CharAtExample {
    public static void main(String[] args) {
        String str = "Hello, World!";

        // 문자열 한 글자씩 자르기
        for (int i = 0; i < str.length(); i++) {
            char ch = str.charAt(i);
            System.out.println(ch);
        }
    }
}

2. substring() 메서드를 사용하여 문자열 한 글자씩 자르기

substring() 메서드를 사용하면 문자열의 일부분을 추출할 수 있습니다. 시작 인덱스와 끝 인덱스를 지정하여 한 글자씩 자를 수 있습니다.

예제 2. substring() 메서드를 사용하여 문자열 한 글자씩 자르기

// 사용되는 디렉토리: src/com/example
// 파일명: SubstringExample.java

public class SubstringExample {
    public static void main(String[] args) {
        String str = "Hello, World!";

        // 문자열 한 글자씩 자르기
        for (int i = 0; i < str.length(); i++) {
            String ch = str.substring(i, i + 1);
            System.out.println(ch);
        }
    }
}

3. toCharArray() 메서드를 사용하여 문자열 한 글자씩 자르기

toCharArray() 메서드를 사용하면 문자열을 문자 배열로 변환할 수 있습니다. 이를 활용하여 문자열을 한 글자씩 자를 수 있습니다.

예제 3. toCharArray() 메서드를 사용하여 문자열 한 글자씩 자르기

// 사용되는 디렉토리: src/com/example
// 파일명: ToCharArrayExample.java

public class ToCharArrayExample {
    public static void main(String[] args) {
        String str = "Hello, World!";

        // 문자열 한 글자씩 자르기
        char[] charArray = str.toCharArray();
        for (char ch : charArray) {
            System.out.println(ch);
        }
    }
}

4. StringTokenizer를 사용하여 문자열 한 글자씩 자르기

StringTokenizer 클래스를 사용하면 문자열을 구분자를 기준으로 여러 개의 토큰으로 나눌 수 있습니다. 이를 활용하여 문자열을 한 글자씩 자를 수 있습니다.

예제 4. StringTokenizer를 사용하여 문자열 한 글자씩 자르기

// 사용되는 디렉토리: src/com/example
// 파일명: StringTokenizerExample.java

import java.util.StringTokenizer;

public class StringTokenizerExample {
    public static void main(String[] args) {
        String str = "Hello, World!";

        // 문자열 한 글자씩 자르기
        StringTokenizer tokenizer = new StringTokenizer(str, "");
        while (tokenizer.hasMoreTokens()) {
            String token = tokenizer.nextToken();
            System.out.println(token);
        }
    }
}

5. Stream을 사용하여 문자열 한 글자씩 자르기

Java 8 이상에서는 Stream API를 사용하여 문자열을 문자 스트림으로 변환할 수 있습니다. 이를 활용하여 문자열을 한 글자씩 자를 수 있습니다.

예제 5. Stream을 사용하여 문자열 한 글자씩 자르기

// 사용되는 디렉토리: src/com/example
// 파일명: StreamExample.java

import java.util.stream.IntStream;

public class StreamExample {
    public static void main(String[] args) {
        String str = "Hello, World!";

        // 문자열 한 글자씩 자르기
        IntStream.range(0, str.length())
                 .mapToObj(str::charAt)
                 .forEach(System.out::println);
    }
}

6. 정규 표현식을 사용하여 문자열 한 글자씩 자르기

정규 표현식을 사용하여 문자열을 특정 패턴에 맞게 나눌 수 있습니다. 이를 활용하여 문자열을 한 글자씩 자를 수 있습니다.

예제 6. 정규 표현식을 사용하여 문자열 한 글자씩 자르기

// 사용되는 디렉토리: src/com/example
// 파일명: RegexExample.java

import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class RegexExample {
    public static void main(String[] args) {
        String str = "Hello, World!";

        // 문자열 한 글자씩 자르기
        Pattern pattern = Pattern.compile(".");
        Matcher matcher = pattern.matcher(str);
        while (matcher.find()) {
            String match = matcher.group();
            System.out.println(match);
        }
    }
}