본문 바로가기
Language/JAVA

[JAVA] 자바_공백 제거하기 (feat. replaceAll)

by 썸머워즈 2020. 6. 11.
반응형

replaceAll을 사용한 공백 제거하기 -


생각보다 개발을 하게되면 공백을 제거해야 하는 상황이 많이 생긴다.

trim을 사용하는 방법도 있지만 replaceAll을 사용해 공백을 제거하는 방법에 대해 알아보자.

 

1. " "(공백)을 이용한 공백 제거

public class ReplaceAllTest{
    public static void main(String[] args){
        String targetStr = " ... "
        String replaceStr = targetStr.replaceAll(" ","");
    }
}

일반적인 경우는 이같은 방법으로 충분히 제거하여 사용이 가능하나,

이 방법은 완전하지 않아 잘 사용하지 않는다.

 

2. 정규식을 이용한 공백 제거

public class ReplaceAllTest{
    public static void main(String[] args){
        String targetStr = " ... "
        String replaceStr = targetStr.replaceAll("\\p{Z}","");
    }
}

replaceAll을 사용하는 가장 큰 이유는 바로 정규식을 사용할 수 있다는 점이다.

1번 방법이 완전하지 않다고 한 이유는 공백이 전체적으로 지워지지않는 경우가 생기기 때문이다.

 

유니코드, 폰트 지원이 없으면 눈에 보이지 않는 코드로만 존재하는 공백 등의 경우가 있는데,

이러한 경우들을 생각해서 정규식을 이용하여 깔끔하게 지워주는게 좋다.

 

3. 앞뒤 공백 제거하기

public class ReplaceAllTest{
    public static void main(String[] args){
        String targetStr = " ... "
        String replaceStr = targetStr.replaceAll("(^\\p{Z}+|\\p{Z}+$)","");
    }
}

실제로 사용은 해보지 않았지만 흔하게 여기저기 기록되었어서 같이 기록해둔다.

기본적으로 문자열의 앞뒤 공백을 제거하는것을 도와주는 trim이 존재하기는 하는데

이것도 예외가 생길수있어 정규식을 이용해 제거해주면 좋다.


* trim 사용법

 

[JAVA] 자바_trim(문자열 앞뒤 공백 제거)

- 문자열 앞뒤 공백 제거 (trim) - trim()  - 문자열의 앞뒤 공백을 제거한다.  - String 클래스에 정의되어 있다. 문자열 사이사이에 있는 공백이 아닌 문자열 "앞" "뒤" 에 있는 문자열을 제거하기 위

mine-it-record.tistory.com

* replace/replaceAll 사용법

 

[JAVA] 자바_replace/replaceAll (문자열 치환)

repalce() - String replace(CharSequence target, CharSequence replacement) - replace() 함수는 대상 문자열을 원하는 문자값으로 변환하는 함수이다. - 첫번째 매개변수는 변환하고자 하는 대상이 될 문자열 -..

mine-it-record.tistory.com

반응형

태그



댓글 0

TOP