Partage
  • Partager sur Facebook
  • Partager sur Twitter

suppression des mots vides

    15 juillet 2011 à 16:18:58

    salut,
    import java.util.Hashtable;
    import java.util.StringTokenizer;
    import java.util.Enumeration;
    
    public class WordCounter {
        Hashtable ht;
        public WordCounter() {
            ht = new Hashtable();
        }
        
        public void processLine(String s) {
            StringTokenizer st = new StringTokenizer(s, ",.«»:;!?<>' ");
            while (st.hasMoreTokens()) {
                String word = st.nextToken();
                processWord(word.toLowerCase());
            }
        }
        public void processWord(String word) {
            if (ht.containsKey(word)) {
                Integer i = (Integer) ht.get(word);
                Integer j = new Integer(i.intValue() + 1);
                ht.put(word, j);
            } else {
                ht.put(word, new Integer(1));
            }
        }
        
        public void print() {
            Enumeration enum1 = ht.keys();
            while (enum1.hasMoreElements()) {
                String key = (String) enum1.nextElement();
                Integer value = (Integer) ht.get(key);
                System.out.println( key + ", " + value);
            }
        }
    }
    


    public class Main {
        public static void main(String[] args) {
            File f = new File("/home/text.txt");
            if (f.exists()) {
                String s = f.toString();
                System.out.println("String representation of path is : " + s);
            } else {
                System.out.println("File cannot exists: ");
            }
            try {
                FileInputStream fstream = new FileInputStream(f);
                DataInputStream in = new DataInputStream(fstream);
                BufferedReader br = new BufferedReader(new InputStreamReader(in));
                String strLine;
                while ((strLine = br.readLine()) != null) {
                    //System.out.println(strLine);
                    WordCounter wc = new WordCounter();
                    wc.processLine(strLine);
                    
                }
    wc.print();
                in.close();
            } catch (Exception e) {
                System.err.println("Error: " + e.getMessage());
            }
        }
    }
    

    le code que vous voyez ci-dessus, il calcule la fréquence d’occurrence des mots dans un fichier,
    je veux ajouter deux chose
    (1)Comment faire pour enlevé les mots vides (le ,la , les , et ...etc) de la liste des résultats.
    (2) comment appliqué ce calcule sur un dossier ?
    merci par avance.
    • Partager sur Facebook
    • Partager sur Twitter
      15 juillet 2011 à 16:35:37

      Bonjour,

      1. Il existe des méthodes pour dire que tu veux ignorer des mots comme par exemple :
      // Ignore les " red ".
      Scanner s = new Scanner(file).useDelimiter("\\s*red\\s*");
      

      2. Je ne vais pas faire ton exercice ! A toi de chercher/essayer et si tu as des problèmes, poste le bout de code qui foire et on t'aidera.
      • Partager sur Facebook
      • Partager sur Twitter
      Lorsque l'on fait une recherche google, on tombe sur des forums qui nous disent de chercher sur google...

      suppression des mots vides

      × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
      × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
      • Editeur
      • Markdown