2013-07-23 3 views
0

일부 pdf 파일의 경우 tika를 사용하여 텍스트를 추출하고 텍스트 파일에 텍스트를 저장했습니다. 이제 opennlp 청크 파서를 사용하여 이러한 파일을 구문 분석하고 싶지만 일부 특수 문자 (일부 사각형 기호)가 단어 사이에 공백없이 포함되어 있기 때문에 파일 줄을 구문 분석하지 못했습니다. 텍스트 파일의 샘플 행 (그 사각형 타입 기호, 발음 구별 기호를)공백을 제외하고 파일 줄에서 모든 특수 문자를 제거하십시오.

51.2.3 Troubleshooting DHCP Configuration ? 
62 Module 3: Point-to-Point Protocol (PPP) ? 
62.1 Configuring HDLC Encapsulation ? 

그래서 내가

Troubleshooting DHCP Configuratin 
Module 3: Point-to-Point Protocol(PPP) 
Configuring HDLC Encapsulation 

으로 선을 얻으려면를 표시 할 수 없습니다 방법이 작업을 수행하는 날을 제안하세요?

답변

0
  1. line by line을 읽으십시오.
  2. 이 줄의 불필요한 문자는 모두 ""로 바꿉니다. line = line.replaceAll("^\\d{2}(\\.\\d)+ +", "").replaceAll(" +\\?$", "");
  3. FileWriter을 사용하여 파일을 씁니다.

줄 시작 부분의 숫자 형식은 dd (.d) *입니다. 여기서 d는 한 자리이며 첫 번째 단 뒤에 오는 각 구역은 한 자릿수입니다. 그렇지 않으면 정규 표현식을 사용자의 형식에 맞게 변경해야합니다.

.replaceAll("[æ╚]", ""); 문자를 대괄호 안에 모두 추가하여 암호 기호를 제거하십시오. 올바른 인코딩을했는지 확인하십시오. "UTF-8"로 파일을 읽으면이 파일을 "UTF-8"로 지정할 수있는 편집기에서이 캐랙터를 복사해야합니다.

+0

안녕, 내 라인이 특정 형식으로, 내가 정규식을 쓸 수없는, 특정 형식 만 특정 문자가없는 경우 당신은 여전히 ​​정규식을 사용할 수 있습니다 – user2609542

+0

다른 해결책이있다. 인쇄 할 수없는 모든 문자를 제거하려면 replaceAll ('[^ \\ p {Print}]', "")'을 사용하십시오. 특정 문자를 바꾸려면 위의 replace 메소드를 사용하여 문자를 나열하십시오. A-ZA-Z0-9에없는 erverything을 replaceAll ('[\\ W]', "")'로 제거 할 수도 있습니다. –

0

단어가 아닌 모든 문자를 공백으로 대체 하시거나 적어도 올바른 방향으로 바꾸시겠습니까?

str = str.replaceAll("\\W+", " "); 
관련 문제