2012-08-13 2 views
0

두 단어로 구분 된 키워드가 포함 된 텍스트 파일에서 줄을 추출해야합니다.키워드가 들어있는 두 단어 사이의 텍스트 파일 검색 줄

키워드가 포함 된 라인 (이미 contains(string))을 이미 찾았으나이 전후에 한 쌍의 줄이 있어야합니다. 줄을 세지 않고 첫 번째와 마지막 단어를 검색 할 수 있습니다. 이 줄의 그룹.

어떻게 할 수 있습니까?

+1

텍스트 파일의 예를 게시 할 수 있습니까? 또한 이미 한 것을 보여줄 수 있습니까? – Kostronor

+0

xml 파일은 간단한 텍스트 파일처럼 읽습니다. 두 태그 사이에 내용을 추출해야합니다.)하지만이 태그에 다음 코드로 찾은 특정 단어가 있어야합니다. BufferedReader in = new BufferedReader (new FileReader (pathFile)); 문자열 줄 = in.readLine(); while (line! = null) { if (line.contains (str)) { .... – user1595513

+0

그러면 대니얼의 예를 사용하는 것이 좋습니다. – Kostronor

답변

1

첫 번째 단계에서 java.util.List에 행을 저장 한 다음 색인을 사용하여 목록을 반복 할 수 있습니다.

List<String> lines = new ArrayList<String>(); 
while(reader.ready()){ 
    lines.add(reader.readLine()); 
} 

for(int i = 0; i<lines.size();i++){ 
    if(lines.get(i).contains(string)){ 
    String lineMinusTwo = lines.get(i-2); 
    String lineMinusOne = lines.get(i-1); 
    String line = lines.get(i); 
    String linePlusOne = lines.get(i+1); 
    String linePlusTwo = lines.get(i+2); 
    } 
} 
+0

고맙습니다!하지만 텍스트의 줄을 계산하지 않고 추출 할 수는 있지만 첫 단어와 마지막 단어 만 검색하는 것이 좋습니다! – user1595513

0

"VERY ROUGH"렉서를 구현하여 라인을 읽고 HashMap에 매핑하는 방법은 어떻습니까? 정수는 행 번호이고 문자열은 전체 행입니다. 전체 파일을 처리 한 다음지도를 반복하면 현재 줄 번호와 다음 n 줄을 기준으로 필요한 이전 n 줄을 찾을 수있는 키워드가있는 줄을 찾을 수 있습니다.

관련 문제