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

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

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

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

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

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

    퍼가요~

  2. Blog Icon
    euna

    감사합니다. trim이 안되서 애먹고 있었는데 해결했네요. 정말 감사합니다