Pages

2014년 12월 4일 목요일

[JAVA] 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}+$)", "");

댓글 없음:

댓글 쓰기