wyszkukiwanie napisow z pliku

0

Witam.
Mam taki program:

import java.util.*;
import java.io.*;
import javax.swing.JOptionPane;

class gggg {
    
    public static void main (String[]args){
    
           try {
           
            FileReader fr = new FileReader ("c:\\a.txt");
            //new FileReader(JOptionPane.showInputDialog("Podaj sciezke do pliku"));
            BufferedReader br = new BufferedReader(fr);
            FileWriter fw = new FileWriter("D:\\aaaaaattt.txt");
            BufferedWriter bw = new BufferedWriter (fw);
            
        
        
        //String szukaneslowo =JOptionPane.showInputDialog("Podaj szukane slowo");
        String szukaneslowo ="abc";
        int line = 1,licznik = 0;
         String s;

            while ((s=br.readLine())!=null){
                
                if (s.equals(szukaneslowo)){
                    System.out.println("slowo: "+szukaneslowo+"  wystapilo w lini "+ line);
                    bw.write("slowo: "+szukaneslowo+"  wystapilo w lini "+ line);
                    bw.newLine();
                    licznik++;
                }
                line++;
            }
            System.out.println("slowo: "+szukaneslowo+"  wystapilo  "+ licznik +" razy");
            bw.write("slowo: "+szukaneslowo+"  wystapilo "+ licznik +" razy" );
    
            System.out.println("Koniec wczytywania danych.");
            
            br.close();
            bw.close();
        }
        
        
        
        catch (FileNotFoundException e) {
            System.out.println("nie znaleziono pliku");
        } 
        catch (IOException e) {
            System.out.println("blad!!!!");
        } 
        
    
        
    
        

    }    
} 

No i wczytuje on plik po linijce i szuka napisu "abc".
Ale dziala on poprawnie tylko gdy "abc" jest pierwszym wyrazem w linijce. Jak to zrobic zeby dzialalo rowniez w srodku zdania?

0

poczytaj o obsludze wyrazen reguralnych w klasie String, albo java.util.regex ale to chyba troche przerost formy na trescia

2

E, tam. Wyrażenia regularne tutaj to strzelanie z armaty do muchy. Zamiast

(s.equals(szukaneslowo))

napisz

(s.contains(szukaneslowo))

1 użytkowników online, w tym zalogowanych: 0, gości: 1