서비의 다락방

뒤로 검색

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

2014/06/17 18:45

[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]

Tags

12288, u+3000, 공백문자, 정규식
이 페이지는 Textcube 1.10.9 : Tempo primo 로 구동됩니다 데스크탑 화면