두 단어로 구분 된 키워드가 포함 된 텍스트 파일에서 줄을 추출해야합니다.키워드가 들어있는 두 단어 사이의 텍스트 파일 검색 줄
키워드가 포함 된 라인 (이미 contains(string)
)을 이미 찾았으나이 전후에 한 쌍의 줄이 있어야합니다. 줄을 세지 않고 첫 번째와 마지막 단어를 검색 할 수 있습니다. 이 줄의 그룹.
어떻게 할 수 있습니까?
두 단어로 구분 된 키워드가 포함 된 텍스트 파일에서 줄을 추출해야합니다.키워드가 들어있는 두 단어 사이의 텍스트 파일 검색 줄
키워드가 포함 된 라인 (이미 contains(string)
)을 이미 찾았으나이 전후에 한 쌍의 줄이 있어야합니다. 줄을 세지 않고 첫 번째와 마지막 단어를 검색 할 수 있습니다. 이 줄의 그룹.
어떻게 할 수 있습니까?
첫 번째 단계에서 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);
}
}
고맙습니다!하지만 텍스트의 줄을 계산하지 않고 추출 할 수는 있지만 첫 단어와 마지막 단어 만 검색하는 것이 좋습니다! – user1595513
"VERY ROUGH"렉서를 구현하여 라인을 읽고 HashMap에 매핑하는 방법은 어떻습니까? 정수는 행 번호이고 문자열은 전체 행입니다. 전체 파일을 처리 한 다음지도를 반복하면 현재 줄 번호와 다음 n 줄을 기준으로 필요한 이전 n 줄을 찾을 수있는 키워드가있는 줄을 찾을 수 있습니다.
텍스트 파일의 예를 게시 할 수 있습니까? 또한 이미 한 것을 보여줄 수 있습니까? – Kostronor
xml 파일은 간단한 텍스트 파일처럼 읽습니다. 두 태그 사이에 내용을 추출해야합니다.)하지만이 태그에 다음 코드로 찾은 특정 단어가 있어야합니다. BufferedReader in = new BufferedReader (new FileReader (pathFile)); 문자열 줄 = in.readLine(); while (line! = null) { if (line.contains (str)) { .... – user1595513
그러면 대니얼의 예를 사용하는 것이 좋습니다. – Kostronor