Computer >> 컴퓨터 >  >> 프로그래밍 >> Java

Java에서 공백을 구분 기호로 사용해 문자열을 분할하는 방법

Java의 String 클래스가 제공하는 split() 메서드는 구분 기호(delimiter)를 인수로 받아, 현재 문자열을 해당 구분 기호를 기준으로 여러 개의 작은 문자열로 나눈 뒤 그 결과를 문자열 배열(String[]) 형태로 반환합니다.

만약 문자열에 지정한 구분 기호가 존재하지 않는다면, 이 메서드는 원본 문자열 전체를 유일한 요소로 가지는 배열을 반환합니다.

공백을 구분 기호로 문자열 분할하기

공백 문자를 구분 기호로 사용하여 하나의 문자열을 문자열 배열로 나누려면 다음 단계를 따르면 됩니다.

  • 분할할 원본 문자열을 준비하거나 읽어옵니다.
  • split() 메서드를 호출하면서 구분 기호로 공백(" ")을 전달합니다.
  • 반환된 결과 배열을 출력하거나 활용합니다.

예제 코드

다음 Java 프로그램은 파일의 내용을 문자열로 읽어 들인 후, split() 메서드에 공백을 구분 기호로 전달하여 문자열을 분할합니다.

import java.io.File;
import java.io.FileNotFoundException;
import java.util.Arrays;
import java.util.Scanner;
public class SplitExample {
    public static void main(String args[]) throws FileNotFoundException {
        Scanner sc = new Scanner(new File("D:\\sample.txt"));
        StringBuffer sb = new StringBuffer();
        String input = new String();
        while (sc.hasNextLine()) {
            input = sc.nextLine();
            sb.append(input);
        }
        String source = sb.toString();
        String result[] = source.split(" ");
        for(int i = 0; i < result.length; i++) {
            System.out.println(result[i]);
        }
    }
}

실행 결과

파일에 "Hello how are you"라는 문장이 저장되어 있다면, 공백을 기준으로 분할되어 각 단어가 별도의 배열 요소로 출력됩니다.

Hello
how
are
you

참고 사항

연속된 여러 개의 공백이나 탭 등 모든 종류의 공백 문자를 처리하려면 정규 표현식인 \\s+를 구분 기호로 사용하는 것이 좋습니다. 예를 들어 source.split("\\s+")와 같이 호출하면 공백의 개수나 종류와 관계없이 안정적으로 문자열을 분할할 수 있습니다.