您的位置:首页 > 编程语言 > Java开发

java统计文本中英文单词个数

2017-11-27 22:08 459 查看
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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  java