JAVA 모든 공백 제거 replaceAll 사용 방법

Java에서 공백을 제거하기 위해사용 하는 메서드로 trim이 있습니다.

trim을 사용하면 문자열의 앞과 뒤에 있는 공백 문제를 제거합니다.

하지만 문자열 사이에 있는 공백 문자는 제거를 하지 않습니다.

이번 내용에서는 문자열 사이에 있는 공백 문자까지 제거하는 방법을 알아보려고 합니다.

trim 메서드 사용 방법은 아래를 참조해 주세요.

 

 

모든 공백 제거

문자열에 있는 공백 문자를 모두 제거하기 위해서 replaceAll을 사용할 수 있습니다.

replaceAll은 문자열을 변환해주는 메서드로 모든 공백 문자를 제거할 때 자주 사용됩니다.

 

샘플 소스를 보면서 모든 공백 문자를 제거하는 방법을 보겠습니다.

public class ReplaceAllSample {
    public static void main(String[] args) {
 
        String str = " Hello, Java !  replace All Sample ";
 
        // 모든 공백 제거
        String newStr = str.replaceAll(" ", "");
 
        // 결과 출력
        System.out.println("[" + newStr + "]"); 
    }
}

 

결과

[Hello,Java!replaceAllSample]

 

문자열 앞뒤에 있는 공백과 문자열 사이에 있는 모든 공백이 제거되었습니다.

replaceAll을 사용해 공백 문자열 ” “을 “” 변환하고 있습니다.

하지만 replaceAll로 제거가 안 되는 경우도 있습니다.

문자열에 정규식으로 작성된 경우입니다.

 

샘플을 보겠습니다.

public class ReplaceAllSample {
    public static void main(String[] args) {
 
        String str = " Hello, Java\t!  replace All\nSample ";

        System.out.println("[" + str + "]"); 
    }
}

 

결과

[ Hello, Java	!  replace All
Sample ]

 

문자열 앞에는 을 의미하는 \t과 줄 바꿈을 의미하는 \n이 포함되어 있습니다.

문자열 출력 결과도 확인해보면 탭과 줄 바꿈이 되어 표시되고 있습니다.

 

이번에도 replaceAll을 사용해 모든 공백을 제거해 보겠습니다.

public class ReplaceAllSample {
    public static void main(String[] args) {
 
        String str = " Hello, Java\t!  replace All\nSample ";
 
        // 모든 공백 제거
        String newStr = str.replaceAll(" ", "");
 
        // 결과 출력
        System.out.println("[" + newStr + "]"); 
    }
}

 

결과

[Hello,Java	!replaceAll
Sample]

 

결과를 확인해보면 탭과 줄 바꿈은 그대로 표시가 되고 있습니다.

replaceAll에 정규식 표현을 지정해 공백 문자를 제거하도록 하겠습니다.

public class ReplaceAllSample {
    public static void main(String[] args) {
 
        String str = " Hello, Java\t!  replace All\nSample ";
 
        // 모든 공백 제거
        String newStr = str.replaceAll("\\s", "");
 
        // 결과 출력
        System.out.println("[" + newStr + "]"); 
    }
}

 

결과

[Hello,Java!replaceAllSample]

 

출력 결과를 확인해보면 모든 공백문자가 제거되고 출력되었습니다.

사용한 정규식 표현은 공백문자를 의미하는 \s를 “”문자열로 변환하다고 작성했습니다.

결과 모든 탭을 포함한 모든 공백 문자가 제거되었습니다.

댓글