개발/백

[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 한 것과 같다. 끝!