2013-02-21 62 views
0

我一直在線上搜索並在這裏關於如何刪除包含一個或兩個單詞的一行,但在java上找不到任何內容。這是代碼,我現在所擁有的:在java中刪除包含關鍵字的句子

try { 
    BufferedReader reader = new BufferedReader(new FileReader("Readfile.txt")); 
    String line = reader.readLine(); 
    while(line !=null) 
    { 
    for(int i = 0 ; i<newarray.length;i++){ 
     if(line.contains(newarray[i])){ 
     System.out.println(line); 
     } 
    } 
    line=reader.readLine(); 
    } 
} catch (Exception ex) { 
    System.out.println(ex.getMessage()); 
} 

它從一個文本文件中讀取的句子,但它打印出來之前,我想刪除包含關鍵字一些句子,如樂趣。

+0

是不是可以從你的txt文件中刪除該行? – PermGenError 2013-02-21 15:42:00

+0

如何在'LinkedList 'iff'line.contains(「fun」)'returns' false'中添加掃描線? – sp00m 2013-02-21 15:43:05

+0

@PremGenError我的文本文件包含100多個句子,所以我認爲這樣做比刪除句子更容易。 – JustMe 2013-02-21 15:43:41

回答

2

事情是這樣的:

//BufferedReader stuff etc. 
List<String> words = new ArrayList<String>(); 
words.add("fun"); 
words.add("something"); 

String line; 
while((line = br.readLine()) != null) 
{ 
    boolean found = false; 
    for(String word: words) 
    { 
     if(line.contains(word)) 
     { 
      found = true; 
      break; 
     } 
    } 

    if(found) continue; 
    System.out.println(line); 
} 
+0

這工作。謝謝。 – JustMe 2013-02-21 16:00:50

0
if(line.contains(newarray[i])){ 
    line = line.replace("fun" ,""); 
    System.out.println(line); 
    } 

試試這個它會在打印之前刪除單詞。

+0

我厭倦了這一點,但是我在.replace.'上得到了一個錯誤。'String類型中的方法replace(char,char)不適用於參數 參數(String)'。 – JustMe 2013-02-21 16:02:41

+0

@VrutiD你想從給定的行刪除newarray [i]? – 2013-02-21 16:05:33

+0

不,它從數組中讀取,但在文本文件中有我想要從正在打印的句子中刪除的單詞。我現在開始工作了。 – JustMe 2013-02-21 16:07:40