반응형
- replaceAll을 사용한 공백 제거하기 -
생각보다 개발을 하게되면 공백을 제거해야 하는 상황이 많이 생긴다.
trim을 사용하는 방법도 있지만 replaceAll을 사용해 공백을 제거하는 방법에 대해 알아보자.
" "(공백)을 이용한 공백 제거
public class ReplaceAllTest{
public static void main(String[] args){
String targetStr = " ... "
String replaceStr = targetStr.replaceAll(" ","");
}
}
일반적인 경우는 이같은 방법으로 충분히 제거하여 사용이 가능하나,
이 방법은 완전하지 않아 잘 사용하지 않는다.
정규식을 이용한 공백 제거
public class ReplaceAllTest{
public static void main(String[] args){
String targetStr = " ... "
String replaceStr = targetStr.replaceAll("\\p{Z}","");
}
}
replaceAll을 사용하는 가장 큰 이유는 바로 정규식을 사용할 수 있다는 점이다.
1번 방법이 완전하지 않다고 한 이유는 공백이 전체적으로 지워지지않는 경우가 생기기 때문이다.
유니코드, 폰트 지원이 없으면 눈에 보이지 않는 코드로만 존재하는 공백 등의 경우가 있는데,
이러한 경우들을 생각해서 정규식을 이용하여 깔끔하게 지워주는게 좋다.
앞뒤 공백 제거하기
public class ReplaceAllTest{
public static void main(String[] args){
String targetStr = " ... "
String replaceStr = targetStr.replaceAll("(^\\p{Z}+|\\p{Z}+$)","");
}
}
실제로 사용은 해보지 않았지만 흔하게 여기저기 기록되었어서 같이 기록해둔다.
기본적으로 문자열의 앞뒤 공백을 제거하는것을 도와주는 trim이 존재하기는 하는데
이것도 예외가 생길수있어 정규식을 이용해 제거해주면 좋다.
* trim 사용법
* replace/replaceAll 사용법
반응형
댓글