개발/백

[JAVA] 자바 문자열 자르기-split,주의사항("|",버티컬바 적용 안될 때)

다당근 2021. 11. 11. 10:37

 

 

 

 

String[] split(String regex)

split 함수는 입력받은 특정 문자를 기준으로 문자열을 나누고, 배열로 리턴한다.

 

사용 방법

자를문자열.split("특정문자");

public void splitTest(){
        String data = "안녕하세요,당당근입니다.";
        String[] result = data.split(",");
        for(int i=0; i<result.length; i++){
            System.out.println(i + " = " + result[i]);
        }
    }

출력 결과

데이터

 

주의사항 ("|", 버티컬 바로 자를 때)

 

하지만 특정 문자가 | 일 경우 다음과 같이 출력이 된다.

public void splitTest(){
        String data = "안녕하세요|당당근입니다.";
        String[] result = data.split("|");
        for(int i=0; i<result.length; i++){
            System.out.println(i + " = " + result[i]);
        }
    }

출력 결과

 

데이터

 

해결방법

"|" 는 boolean과 같은 결과를 리턴하기 때문에 위와 같은 결과가 나온다고 한다.

split("|") 대신 split("\\|") 로 자르면 해결이 된다.

 

public void splitTest(){
        String data = "안녕하세요|당당근입니다.";
        String[] result = data.split("\\|");
        for(int i=0; i<result.length; i++){
            System.out.println(i + " = " + result[i]);
        }
    }

 

결과는 일반적으로 split 한 것과 같다. 끝!