Основная замена ввода / вывода текста - PullRequest
0 голосов
/ 26 января 2012

Я использую следующую программу для считывания огромного дампа базы данных поисковой системы по поисковым запросам (> 100 МБ) и удаления ненужных табличных данных, чтобы у меня оставалось только ключевое слово, чтобы можно было добывать данные для трендов для одного из моих классов.

Вот что у меня есть:

import java.io.*;
public class FileUtil {

    public static void main(String args[]) {

        try {

            FileInputStream fStream = new FileInputStream("\\searches.txt");
            BufferedReader in = new BufferedReader(new InputStreamReader(fStream));
            //PrintStream out = new PrintStream(new FileOutputStream("searchesEdited.txt"));

            while (in.ready()) {
                System.out.println(in.readLine());
                String keyword = "foo"; // selected keyword to delete in txt file
                //search for string
                //delete the string
                //write newly edited file to searchesEdited.txt

            }
            in.close();

        } catch (IOException e) {
            System.out.println("File input error");
        }

    }
}

Это работает как положено и выводит все данные на консоль, так что я в правильном направлении. Теперь мне просто нужно заменить / удалить переданное ключевое слово. Я изучил метод replaceAll(), но, похоже, не смог правильно его реализовать. Любая помощь будет принята с благодарностью.

Ответы [ 2 ]

1 голос
/ 26 января 2012

Попробуйте,

String line=in.readLine();
 String keyword = "foo"; 
 String newLine=line.replaceAll(keyword,"");

или

 String keyword ="\\bfoo\\b"; //word boundary match
 String newLine=line.replaceAll(keyword,"");
0 голосов
/ 26 января 2012

Вы можете просто использовать String.replace () с пустой строкой для замены, например,

 "search for a keyword and delete this keyword".replace("keyword", "")

возвращает

 "search for a  and delete this"

См. Также здесь для простого руководства по чтению и записи текстовых файлов.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...