2011-11-14 2 views
0

나는 텍스트 파일을 스캔 한 다음 각 단어를 해시 맵에 작성하는 프로그램을 작성하고 있습니다.구분 기호를 사용하여 단어를 분리하는 방법 (Java)

스캐너 클래스의 기본 구분 기호는 공백입니다. 그러나 나는 그들에게 붙어있는 구두점과 함께 저장된 나의 말을 가지고 끝내었다. 나는 스캐너가 마침표, 혼수 상태 및 다른 유형의 공통 구두점을 토큰을 멈추기위한 표시로 인식하기를 원합니다. 여기에 내가 시도 내용은 다음과 같습니다

Scanner line_scanner = new Scanner(line).useDelimiter("[.,:;()?!\" \t]+~\\s"); 

스캐너는 기본적으로 표현의 일부로서 내가 가진 경우에도 모든 공간 '\\ s'을 (를) 무시했다. 미안 해요,하지만 정규식에 대한 이해가 거의 없습니다.

답변

4
Scanner line_scanner = new Scanner(line).useDelimiter("[.,:;()?!\"\\s]+"); 
0

당신은 더 유니 코드 문자에 갈 수 있습니다

useDelimiter("[^\\p{L}\\p{M}]+"); 

([^ ...] 아닌, 자본 p는 유니 코드 범주, L을 의미하는 문자, M 마크를 결합 구별이 (악센트 있습니다).

관련 문제