자바 처리 보이 지 않 는 특수 문자 요점 분석

다음 그림 에서 보 듯 이 두 빈 문자열 은 같 지 않다.

str 에 특수 문 자 를 겸 할 수 없 기 때문에 debug 에서 str 의 값 을 복사 한 다음 에 더 블 따옴표 에 붙 여 넣 으 면 이 문자 의 정 체 를 볼 수 있 습 니 다.다음 그림 과 같 습 니 다.

\uFEFF 는 제어 문자 로'0 너비 접 지 않 는 줄 빈 칸(Zero Width No-Break Space)'이 라 고 명명 되 어 있 으 며,이와 유사 한 보이 지 않 는 문 자 는\u202A(왼쪽 에서 오른쪽으로 끼 워 넣 기),\u202E(오른쪽 에서 왼쪽으로 강제)등 제어 문자 도 있 습 니 다.
그럼 우 리 는 어떻게 이런 제어 문 자 를 만 났 을 까?
파일 을 읽 거나 파일 속성 에서 경 로 를 직접 복사 하 는 데 자주 문제 가 발생 합 니 다.
개발 에서 얻 은 문자열 을 다음 과 같이 처리 하여 제어 문 자 를 삭제 할 수 있 습 니 다.인터넷 에 서 는 정규\\p{Cntrl}을 사용 하여 교체 하 라 는 말 이 많 습 니 다.테스트 를 통 해 도움 이 되 지 않 고 친구 가 알려 준\\p{C}입 니 다.

String str2 = str1.replaceAll("\\p{C}", "");
System.out.println("".equals(str2));
특수 한 유 니 코드 문자 입 니 다.확실 하지 않 으 면 길이 가 같은 지 먼저 판단 할 수 있 습 니 다.

추천 문자 조회 사이트 주소 조회:
https://unicode-table.com/cn/
이상 이 바로 본 고의 모든 내용 입 니 다.여러분 의 학습 에 도움 이 되 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.

좋은 웹페이지 즐겨찾기