2012-04-20 3 views

ответ

4

Вам нужно будет прочитать файл, пропуская слова, которые вы хотите удалить, а затем снова напишите файл.

Из-за этого вы можете просто пропустить слова, которые вы хотите игнорировать, каждый раз, когда вы его читаете, зависит от вашего прецедента.

Чтобы реально удалить слова на основе линии по линии (которая не может быть так, как вы хотите сделать это в любом случае), вы можете сделать это (используя google guava):

// the words you want to remove from the file: 
    // 
    Set<String> wordsToRemove = ImmutableSet.of("a", "for"); 

    // this code will run in a loop reading one line after another from the file 
    // 
    String line = "Some words read from a file for example"; 
    StringBuffer outputLine = new StringBuffer(); 
    for (String word : Splitter.on(Pattern.compile("\\s+")).trimResults().omitEmptyStrings().split(line)) { 
     if (!wordsToRemove.contains(word)) { 
      if (outputLine.length() > 0) { 
       outputLine.append(' '); 
      } 
      outputLine.append(word); 
     } 
    } 

    // here I'm just printing, but this line could now be written to the output file. 
    // 
    System.out.println(outputLine.toString()); 

Запуск этого код будет выводиться:

Some words read from file example 

Т.е. «а» и «для» опущены.

Обратите внимание, что это делает простой код, но он изменит форматирование пробелов в вашем файле. Если у вас была строка с удвоенными пробелами, вкладками и т. Д., Тогда все это будет заменено на одно место в этом коде. Это просто пример того, как вы можете это сделать, в зависимости от ваших требований, вероятно, будут лучшие способы.

+0

Может ли U продумать его немного больше! @daveb –

+0

@SuhailJavid Вы должны быть первыми, кто будет разбираться. Что вы пробовали до сих пор, каков ваш код? У вас есть хотя бы код, который читает файл? –

+0

@ daveb благодарит за помощь. У меня есть еще одна проблема: «когда я опускаю слова из строки, есть ли способ записать строку в более старом формате в новый файл»? Пожалуйста, помогите, поскольку я новичок! –

Смежные вопросы