java string 의 공백 제거, 12288 문자 제거하기

Java 에서 문자열의 앞, 뒤, 그리고 중간 공백을 모두 제거하기 위해서 다음과 같은 코드를 사용한적이 있다.

String s = s.trim().replaceAll(" ", "");

이런식으로 대부분의 공백은 제거 되지만 일부 언어의 공백이 제거되지 않고 남아 있는 경우가 있었는데 그 character 값을 찍어보니 12288값이 나왔다.
정확한 정의는 찾지 못했지만 IDEOGRAPHIC SPACE 라고 불리는 문자이고 한국,중국,일본어 등에서 나오는 공백 문자인것 같다.

이를 제거하기 위해서는 위와 같은 방법이 아닌 아래와 같은 방법을 사용한다.

String s = s.replaceAll("\\p{Z}", "");

좀 더 자세한 답변은 stackoverflow 참고.

댓글 남기기