java統計文本中英文單詞個數

package com.xasmall.Test;

import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import java.io.IOException;
import java.util.Set;

import com.google.common.collect.HashMultiset;
import com.google.common.collect.Multiset;

/*
 * 處理文本數據,將英文單詞分割,統計次數
 * 使用正則表達式
 * 首先除去所有非英文的字符,然後分割,最後使用guava multiset統計
 */
public class MapDemo {
    public static void dealstring(String filename) throws IOException {
        FileReader fileReader=new FileReader(new File(filename));
        BufferedReader bufferedReader=new BufferedReader(fileReader);
        StringBuffer stringBuffer=new StringBuffer();

        String string=null;
        while((string=bufferedReader.readLine())!=null) {
            stringBuffer.append(string);
        }
        string=stringBuffer.toString();
        string=string.replaceAll("[^a-zA-Z\\s+]", "");
        String[] strings=string.split("[\\s+,\\.\n]");
        Multiset<String> col=HashMultiset.create();
        for(String string2:strings) {
            col.add(string2);
        }
        Set<String> minset=col.elementSet();
        for(String temp:minset) {
            System.out.println(temp+"-->"+col.count(temp));
        }
        bufferedReader.close();
        fileReader.close();
    }

}

guava下載

密碼:zkci

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章