replaceAll(" ","") trim() 으로 제거되지 않는 공백 제거

String str =originalString.replaceAll(" ", "");
등으로 삭제되지 않는 공백문자를 제거 해 보자.

상기 코드로 삭제되지 않는 이유는.. cjk 문자셋에서 나타나는 IDEOGRAPHIC SPACE 라 불리는 유니코드 \u3000 , HTML 표현으로는   문자로 폰트 지원이 없으면 눈에 보이지 않는(display 되지 않는) 코드로만 존재하는 공백이기 때문.
http://www.fileformat.info/info/unicode/char/3000/index.htm(새 창으로 열기)

이럴 경우 다음과 같은 정규식을 통해 제거가 가능.

모든 공백 제거
String str =originalString.replaceAll("\\p{Z}", "");


앞뒤 공백만 제거(trim)
String str =originalString.replaceAll("(^\\p{Z}+|\\p{Z}+$)", "");
2014/06/17 18:45 2014/06/17 18:45
Trackback Address:이 글에는 트랙백을 보낼 수 없습니다
  1. 좋은글 감사합니다.

    퍼가요~