2013-02-21 25 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