[java] Apache Commons Lang 을 사용하여 문자열을 구분하는 방법

1. StringUtils 클래스의 split 메서드

Apache Commons Lang의 StringUtils 클래스는 문자열 조작에 유용한 다양한 기능을 제공합니다. 그 중 split 메서드는 문자열을 구분자를 기준으로 나눌 때 사용할 수 있습니다.

아래는 split 메서드의 사용 예시입니다.

import org.apache.commons.lang3.StringUtils;

public class StringSplitExample {
    public static void main(String[] args) {
        String str = "Apple, Banana, Orange, Mango";
        String[] fruits = StringUtils.split(str, ",");
        
        for (String fruit : fruits) {
            System.out.println(fruit.trim());
        }
    }
}

위 예제에서는 StringUtils.split(str, ",")를 사용하여 구분자 “,”를 기준으로 문자열을 나누고, 각각의 과일을 출력합니다.

2. StringUtils 클래스의 splitByWholeSeparator 메서드

StringUtils 클래스의 splitByWholeSeparator 메서드는 split 메서드와 비슷하지만 구분자를 정확히 일치하는 경우에만 문자열을 분리합니다.

아래는 splitByWholeSeparator 메서드의 사용 예시입니다.

import org.apache.commons.lang3.StringUtils;

public class StringSplitExample {
    public static void main(String[] args) {
        String str = "Apple--Banana--Orange--Mango";
        String[] fruits = StringUtils.splitByWholeSeparator(str, "--");
        
        for (String fruit : fruits) {
            System.out.println(fruit.trim());
        }
    }
}

위 예제에서는 StringUtils.splitByWholeSeparator(str, "--")를 사용하여 구분자 “–“를 기준으로 문자열을 나누고, 각각의 과일을 출력합니다.

3. StringTokenizer 클래스의 사용

Apache Commons Lang 외에도 Java에서는 기본적으로 제공되는 StringTokenizer 클래스를 활용하여 문자열을 구분할 수 있습니다.

아래는 StringTokenizer 클래스의 사용 예시입니다.

import java.util.StringTokenizer;

public class StringSplitExample {
    public static void main(String[] args) {
        String str = "Apple, Banana, Orange, Mango";
        StringTokenizer tokenizer = new StringTokenizer(str, ",");
        
        while (tokenizer.hasMoreTokens()) {
            System.out.println(tokenizer.nextToken().trim());
        }
    }
}

위 예제에서는 StringTokenizer를 사용하여 구분자 “,”를 기준으로 문자열을 나누고, 각각의 과일을 출력합니다.

위의 예제들에서는 Apache Commons Lang의 StringUtils 클래스와 Java의 StringTokenizer 클래스를 사용하여 문자열을 구분하는 방법을 알아보았습니다. 이러한 방법들은 문자열 처리에서 많은 도움을 줄 수 있으며, 자바 개발자들에게 유용한 도구로 활용될 수 있습니다.


참고 자료: