2013-02-21 1 views
0

J'ai cherché en ligne et ici comment supprimer une ligne contenant un ou deux mots mais je ne trouve rien sur java. Ceci est le code que j'ai en ce moment:Suppression de phrases contenant un mot-clé dans 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()); 
} 

Il lit des phrases à partir d'un fichier texte, mais avant qu'il ne les imprime, je veux supprimer quelques phrases contenant un mot-clé, par exemple amusement.

+0

n'êtes-vous pas en mesure de supprimer la ligne de votre fichier txt ?? – PermGenError

+0

Qu'en est-il de l'ajout de la ligne scannée dans un 'LinkedList ' iff 'line.contains (" fun ")' retourne 'false'? – sp00m

+0

@PremGenError Mes fichiers texte contiennent plus de 100 phrases, donc je pensais que cela serait plus facile que de supprimer les phrases les unes que les autres. – JustMe

Répondre

2

Quelque chose comme ceci:

//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

Cela fonctionne. Je vous remercie. – JustMe

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

Essayez cela, il supprimera le mot avant de l'imprimer.

+0

J'ai fatigué ceci, mais j'obtiens une erreur sur .replace. La méthode replace (char, char) dans le type String n'est pas applicable pour les arguments (String) '. – JustMe

+0

@VrutiD Vous voulez supprimer newarray [i] de la ligne donnée? –

+0

Non, il lit à partir du tableau, mais dans le fichier texte, il y a des mots que je voulais supprimer des phrases en cours d'impression. Je l'ai fonctionné maintenant. – JustMe

Questions connexes