Java/문자열

[Java]문자열을 문자열 배열로 변환(String to String Array)

DevStory 2022. 5. 7.

문자열을 문자열 배열로 변환

이번 포스팅은 문자열을 문자열 배열로 변환하는 몇 가지 방법을 설명합니다.


split() 메서드

문자열을 문자열 배열로 변환하기 위해 가장 많이 사용하는 방법은 String 클래스의 split() 메서드를 사용하는 것입니다. 특정 구분자로 문자열을 분리하고 분리된 문자열을 배열에 저장합니다.

 

다음 예제는 띄어쓰기를 기준으로 문자열을 분리합니다.

String str = "Hello Java Programming!";

String[] strToStrArray = str.split(" ");

for (int i=0; i < strToStrArray.length; i++)
    System.out.println("strToStrArray[" + i+ "]=" + strToStrArray[i]);

[실행 결과]

strToStrArray[0]=Hello
strToStrArray[1]=Java
strToStrArray[2]=Programming!

Pattern.split() 메서드

두 번째 방법으로 정규식 패턴을 사용하는 것입니다. 패턴을 설정한 다음 설정된 패턴에 따라 문자열을 분리할 수 있습니다. 다음 예제는 콤마를 기준으로 문자열을 분리합니다.

String str = "Hello,Java,Programming!";

Pattern pattern = Pattern.compile(",");
String[] strToStrArray = pattern.split(str);

for (int i=0; i <strToStrArray.length; i++)
  System.out.println("strToStrArray[" + i+ "]=" + strToStrArray[i]);

[실행 결과]

strToStrArray[0]=Hello
strToStrArray[1]=Java
strToStrArray[2]=Programming!

StringTokenizer 클래스

자주 사용되는 방법은 아니지만, StringTokenizer 클래스를 사용하여 문자열을 문자열 배열로 변환할 수 있습니다. StringTokenizer 클래스는 문자열을 토큰으로 나누는데 사용되며, 구분자를 기준으로 나누어진 문자열을 토큰(Token)이라고 부릅니다.

 

다음은 StringTokenizer 클래스를 사용하여 문자열을 배열로 변환하는 예제입니다.

int i = 0;

String str = "Hello,Java,Programming!";

// 문자열을 콤마로 분할합니다.
StringTokenizer str_tokenizer
        = new StringTokenizer(str, ",");

// 토큰의 개수와 동일한 문자열 배열을 생성합니다.
String[] strToStrArray
        = new String[str_tokenizer.countTokens()];

// 위에서 생성한 문자열 배열을 순회하여 토큰을 할당합니다.
while (str_tokenizer.hasMoreTokens()) {
  strToStrArray[i] = str_tokenizer.nextToken();
  i++;
}

for (String strElement : strToStrArray) {
  System.out.println(strElement + " ");
}

[실행 결과]

Hello 
Java 
Programming!

StringTokenizer 생성자의 두 번째 매개변수에 구분자를 전달합니다. 나누어진 토큰의 개수만큼 문자열 배열을 생성하고 문자열 배열에 토큰을 할당하여 문자열을 문자열 배열로 변환할 수 있습니다. 

반응형

댓글