精华内容
下载资源
问答
  • 英文单词词频统计

    2016-01-08 13:42:17
    大数据背景下经常需要提取关键词热词,该程序即完成对txt格式的英文内容进行词频统计,并按词频排序生成词频统计列表,通过对单词的预处理忽略's n't 'am “”大小写等形式过滤使程序更为准确
  • Java 统计英文单词

    2021-02-12 18:06:15
    package second;...public class OutputWordMess {public static void main(String[] args) {Vector allWord,noSameWord;WordStatistic statistic=new WordStatistic();statistic.setFileName("hell...

    package second;

    import java.util.*;

    public class OutputWordMess {

    public static void main(String[] args) {

    Vector allWord,noSameWord;

    WordStatistic statistic=new WordStatistic();

    statistic.setFileName("hello.txt");

    statistic.WordStatistic();

    allWord=statistic.getAllWord();

    noSameWord=statistic.getNoSameWord();

    System.out.println("共有"+allWord.size()+"个英文单词");

    System.out.println("有"+noSameWord.size()+"个互不相同英文单词");

    System.out.println("按出现的频率排列:");

    int count[]=new int[noSameWord.size()];

    for(int i=0;i

    String s1=noSameWord.elementAt(i);

    for(int j=0;j

    String s2=allWord.elementAt(j);

    if(s1.equals(s2))

    count[i]++;

    }

    }

    for(int m=0;m

    for(int n=m+1;n

    if(count[n]>count[m]){

    String temp=noSameWord.elementAt(m);

    noSameWord.setElementAt(noSameWord.elementAt(n), m);

    noSameWord.setElementAt(temp, n);

    int t=count[m];

    count[m]=count[n];

    count[n]=t;

    }

    }

    }

    for(int m=0;m

    double frequency=(1.0*count[m])/allWord.size();

    System.out.printf("%s:%-7.3f", noSameWord.elementAt(m),frequency);

    }

    }

    }

    import java.io.*;

    import java.util.*;

    public class WordStatistic {

    Vector allWord,noSameWord;

    File file=new File("english.txt");

    Scanner sc=null;

    String regex;

    WordStatistic (){

    allWord=new Vector();

    noSameWord=new Vector();

    regex="[\\s\\d\\p{Punct}]+";//正则表达式

    try{

    sc=new Scanner(file);

    sc.useDelimiter(regex);

    }

    catch(IOException exp){

    System.out.println(exp.toString());

    }

    }

    void setFileName(String name){

    file=new File(name);

    try{

    sc=new Scanner(file);

    sc.useDelimiter(regex);

    }

    catch(IOException exp){

    System.out.println(exp.toString());

    }

    }

    void WordStatistic() {

    // TODO Auto-generated method stub

    try{

    while(sc.hasNext()){

    String word=sc.next();

    allWord.add(word);

    if(!noSameWord.contains(word))

    noSameWord.add(word);

    }

    }

    catch(Exception e){}

    }

    public VectorgetAllWord(){

    return allWord;

    }

    public VectorgetNoSameWord(){

    return noSameWord;

    }

    }

    展开全文
  • // 单词数加1 if (myTreeMap.containsKey(word)) {// 如果包含该键,单词出现过 num = myTreeMap.get(word);// 得到单词出现的次数 Integer count = (Integer) num;// 强制转化 myTreeMap.put(word, new Integer...

    public class englishTest {

    public static void main(String args[]) throws IOException {

    BufferedReader buf= new BufferedReader(

    new FileReader("d:/english.txt"));

    BufferedWriter bufw= new BufferedWriter(

    new FileWriter("d:/result.txt"));

    StringBuffer sbuf = new StringBuffer();// 缓冲字符串

    String line = null;

    while ((line = buf.readLine()) != null) {

    sbuf.append(line);

    sbuf.append(" ");// 追加到缓冲字符串中

    if (!line.isEmpty()) {// 去文本空行

    bufw.newLine();

    bufw.write(line);

    }

    }

    buf.close();// 读取结束

    String string1 = sbuf.toString().toLowerCase();// 转换成小写

    Pattern expression = Pattern.compile("[a-zA-Z]+");// 定义正则表达式匹配单词

    Matchermatcher = expression.matcher(string1);// 定义string1的匹配器

    TreeMap myTreeMap = new TreeMap();// 创建树映射 存放键/值对

    int n = 0;// 文章中单词总数

    Object word = null;// 文章中的单词

    Object num = null;// 出现的次数

    while (matcher.find()) {// 是否匹配单词

    word = matcher.group();// 得到一个单词-树映射的键

    n++;// 单词数加1

    if (myTreeMap.containsKey(word)) {// 如果包含该键,单词出现过

    num = myTreeMap.get(word);// 得到单词出现的次数

    Integer count = (Integer) num;// 强制转化

    myTreeMap.put(word, new Integer(count.intValue() + 1));

    } else {

    myTreeMap.put(word, new Integer(1));// 否则单词第一次出现,添加到映射中

    }

    }

    System.out.println("统计分析如下:");

    System.out.println("文章中单词总数" + n + "个");

    System.out.println("具体的信息在当前目录的result.txt文件中");

    Iteratoriter = myTreeMap.keySet().iterator();// 得到树映射键集合的迭代器

    Object key = null;

    while (iter.hasNext()) {// 使用迭代器遍历树映射的键

    key = iter.next();

    bufw.write((String) key + ":" + myTreeMap.get(key));// 键/值写到文件中

    bufw.newLine();

    System.out.println((String) key + ":" + myTreeMap.get(key));

    }

    bufw.write("english.txt中的单词总数" + n + "个");

    bufw.newLine();

    bufw.write("english.txt中不同单词" + myTreeMap.size() + "个");

    bufw.close();

    }

    }

    总结:

    这个程序包含了文本文件统计单词个数及去掉空行的方法…………

    涵盖了 java正则表达(pattern类及matcher类)的用法 、Treemap、迭代器(iterater)、字符流写入写出等基础知识的用法

    再列出个pattern类的小用法:

    public class patternPractice {

    private static final String REGEX = ":";

    private static final String INPUT = "one:two:three:four:five";

    public static void main(String[] args) throws IOException {

    Pattern expression = Pattern.compile(REGEX);

    String[] items = expression.split(INPUT);

    int n = 0;

    for (String s : items) {

    System.out.println(s);

    n++;

    System.out.println(n);

    }

    }

    }

    展开全文
  • word中对于英文单词统计也很好,大家不妨试试。如果没有安装word,而且你也是程序员的话,那么可以使用我的这段代码。通过测试,word统计结果是18674,软件的统计结果是18349,相差不到2%,可以作为一个参考。 ...
  • 本文实例讲述了Python统计纯文本文件中英文单词出现个数的方法。分享给大家供大家参考,具体如下: 第一版: 效率低 # -*- coding:utf-8 -*- #!python3 path = 'test.txt' with open(path,encoding='utf-8',newline=...
  • php英文单词统计

    2020-12-18 20:53:19
    本文实例为大家分享了英文单词统计器php 实现,供大家参考,具体内容如下 程序开始运行, 按”浏览”钮选择一个英文文档, 再按”统计 Statistics”钮, 即可得到按字母顺序列出的所有单词,及其出现的次数 用于...
  • 统计单词Java

    2021-02-12 18:06:15
    统计英文单词个数"); Scanner sc= newScanner(System.in);int value=sc.nextInt();while(true) {switch(value) {case 0:txtString(file);case 1:txtString2(file);default:break; } } }/** 统计字母*/ public static...

    importjava.io.BufferedReader;importjava.io.File;importjava.io.FileNotFoundException;importjava.io.FileReader;importjava.io.IOException;importjava.util.ArrayList;importjava.util.Collections;importjava.util.Comparator;importjava.util.HashMap;importjava.util.List;importjava.util.Map;importjava.util.Scanner;public classTongJiDanCi {public static void main(String[] args)throws IOException//扔掉很重要

    {

    File file= new File("D:/c1.txt");

    System.out.println("0.统计英文字母个数及其百分比 1.统计英文单词个数");

    Scanner sc= newScanner(System.in);int value=sc.nextInt();while(true) {switch(value) {case 0:txtString(file);case 1:txtString2(file);default:break;

    }

    }

    }/** 统计字母*/

    public static void txtString(File file) throwsIOException{try{//IO操作读取文件内容

    FileReader fr = newFileReader(file);

    @SuppressWarnings("resource")

    BufferedReader br= new BufferedReader(fr);//构造一个BufferedReader类来读取文件

    HashMap hm = new HashMap();//构建了一个新的HashMap对象,强制指定这个HashMap必须是以String为key, 以Integer为值。

    String line =null;

    Integer count= 0;//每个字母的个数

    Integer total = 0;//统计字母总数,作百分比用

    while ((line=br.readLine())!=null) {char[] ch = line.toCharArray();//将字符串对象中的字符转换为一个字符数组。

    total = total +ch.length;for (int i = 0; i < ch.length; i++) {

    ch[i]= Character.toLowerCase(ch[i]);//将大写字符转换为小写,小写字母不变

    count = hm.get(ch[i]+"");//ch[i]+""的作用是加一个空格后,括号内转化为字符串

    if (count == null) {

    count=1;//只出现一次

    }else{

    count++;

    }

    hm.put(ch[i]+"", count);

    }

    }for (String str : hm.keySet()) {//设变量str获取键

    System.out.println(str+"个数:"+hm.get(str)+" "+hm.get(str)*100.0/total+"%");

    }

    System.out.println("总字母个数:"+total);//排序输出

    List> list_Data = new ArrayList>(hm.entrySet());

    Collections.sort(list_Data,new Comparator>(){public int compare(Map.Entry o1, Map.Entryo2)

    {//o1 to o2升序 o2 to o1降序

    returno2.getValue().compareTo(o1.getValue());

    }

    });

    System.out.println("排序输出:");

    System.out.println(hm);

    }catch(FileNotFoundException e) {

    e.printStackTrace();

    }

    }/** 统计单词*/

    public static void txtString2(File file) throwsIOException{

    FileReader fr= newFileReader(file);

    BufferedReader br= new BufferedReader(fr);//构造一个BufferedReader类来读取文件

    StringBuffer sb = newStringBuffer();

    String line=null;while ((line=br.readLine())!=null){

    sb.append(line);//将读取出的字符追加到stringbuffer中

    }

    fr.close();//关闭读入流

    String str = sb.toString().toLowerCase(); //将stringBuffer转为字符并转换为小写

    String[] words = str.split("[^(a-zA-Z)]+"); //非单词的字符来分割,得到所有单词

    Map map = new HashMap() ;for(String word :words){if(map.get(word)==null){ //若不存在说明是第一次,则加入到map,出现次数为1

    map.put(word,1);

    }else{

    map.put(word,map.get(word)+1); //若存在,次数累加1

    }

    }//排序

    List> list = new ArrayList>(map.entrySet());

    Comparator> comparator = new Comparator>() {public int compare(Map.Entry left, Map.Entryright) {int i=left.getValue()-right.getValue();if(i==0) {return(right.getKey().compareTo(left.getKey()));

    }return(left.getValue().compareTo(right.getValue()));

    }

    };//集合默认升序

    Collections.sort(list,comparator);int n=list.size();

    System.out.println("一共有"+n+"种单词");

    System.out.println("请输入你要排序前几个单词:");

    Scanner scanner=newScanner(System.in);

    n=scanner.nextInt();for(int i=0;i

    System.out.println(list.get(list.size()-i-1).getKey() +":"+list.get(list.size()-i-1).getValue());

    }

    }

    }

    展开全文
  • /** Task :统计文本英文单词总个数,并列出每个单词的个数** Date:2014.02.26**Author:璀若星辰* */import java.io.BufferedReader;import java.io.File;import java.io.FileInputStream;import java.io....

    package test;

    /*

    * Task :统计文本英文单词总个数,并列出每个单词的个数

    *

    * Date:2014.02.26

    *

    *Author:璀若星辰

    * */

    import java.io.BufferedReader;

    import java.io.File;

    import java.io.FileInputStream;

    import java.io.InputStreamReader;

    import java.util.ArrayList;

    import java.util.Collections;

    import java.util.Comparator;

    import java.util.List;

    import java.util.Map;

    import java.util.Map.Entry;

    import java.util.TreeMap;

    import java.util.regex.Matcher;

    import java.util.regex.Pattern;

    public class IO_Word {

    public static ListIo_word(String str)throws Exception{

    File file = new File(str);

    int n = 0;//文章中单词总数

    TreeMap myTreeMap = new TreeMap();//存放键值对

    Object word = null;//文章中的单词

    Object num = null;//出现的次数

    FileInputStream fis = new FileInputStream(file);

    try{

    InputStreamReader isr = new InputStreamReader(fis, "gb2312");

    try{

    BufferedReader br = new BufferedReader(isr);

    try{

    List all = new ArrayList();

    String temp = br.readLine();

    while (temp !=null){

    all.add(temp);

    temp = br.readLine();

    }

    //System.out.println("all="+all.size());

    // System.out.println(all.get(0));

    Pattern expression = Pattern.compile("[a-zA-Z]+");//定义正则表达式匹配单词

    String string1 = all.toString().toLowerCase();//转换成小写

    Matcher matcher = expression.matcher(string1);//定义string1的匹配器

    while(matcher.find()){

    word = matcher.group();//得到一个单词—树映射的键

    //System.out.println("word="+word);

    n++;

    if(myTreeMap.containsKey(word)){

    num = myTreeMap.get(word);//得到单词出现的次数

    Integer count = (Integer)num;

    myTreeMap.put(word, new Integer(count.intValue()+1));

    }else {

    myTreeMap.put(word, new Integer(1));//否则单词第一次出现,添加到映射中

    }

    }

    System.out.println("统计分析如下:");

    System.out.println("txt文章中单词总数"+ n +"个");

    /*Iterator iter = myTreeMap.keySet().iterator();//得到树映射键集合的迭代器

    while(iter.hasNext()){

    key = iter.next();

    System.out.println(((String)key+"-"+myTreeMap.get(key)));

    }*/

    List> list = new ArrayList>(myTreeMap.entrySet());

    System.out.println("list="+list.size());

    Collections.sort(list,new Comparator>(){

    public int compare(Map.Entryzj, Map.Entry zz) {

    return (zz.getValue() - zj.getValue());

    }

    });

    for (Entry entry : list) {

    System.out.println(entry.getKey() + "-" + entry.getValue() );

    }

    return all;

    }finally{

    br.close();

    }

    }finally{

    isr.close();

    }

    }finally{

    fis.close();

    }

    }

    public static void main(String[] args) {

    try {

    IO_Word.Io_word("D:/abc.txt");

    } catch (Exception e) {

    e.printStackTrace();

    }

    }

    }

    运行结果效果如下

    e673ca4f79bc4e64f29b448a2becb8bd.png

    原文:http://blog.csdn.net/u012631267/article/details/19975307

    展开全文
  • #你有一个目录,放了你一个月的日记,都是 txt,为了避免分词的问题,假设内容都是英文,请统计出你认为每篇日记最重要的词1.txt:i love you beijing2.txt:i love you beijing hello world3.txt:today is a good ...
  • java单词统计

    2021-02-12 18:06:16
    要求1:输出某个英文文本文件中26字母出现的频率,由高到低排序,并显示字母出现的百分比,精确到小数点后两位。思路:分别设存放字母和字母出现次数的数组,遍历文件内容,将字母及出现频率按由高到低的顺序输出...
  • C语言实现英文单词统计
  • 简单的统计英文单词个数

    千次阅读 2020-03-16 21:28:51
    给出一篇英文文章,现在需要统计文章中出现英文单词的数量。 输入格式: 第一行一个T,代表数据组数 对于每组数据,第一行一个n,代表文章中单词的个数,其后n行每行一个只包含小写字母的长度为1到10的字符串 输出...
  • 英文单词统计可以直接用php原生的函数str_word_count来进行统计。但这个函数对于中文汉字显得无能为力,无法准确统计到汉字个数。解决办法是根据汉字的编码规则,自己来实现中文汉字数统计和中英文单词统计。...
  • 统计英文单词个数

    千次阅读 2020-03-26 16:59:55
    给出一篇英文文章,现在需要统计文章中出现英文单词的数量。 输入格式: 第一行一个T,代表数据组数 对于每组数据,第一行一个n,代表文章中单词的个数,其后n行每行一个只包含小写字母的长度为1到10的字符串 输出...
  • /usr/bin/env python# -*- coding: utf-8 -*-"""python实现任一个英文的纯文本文件,统计其中的单词出现的个数、行数、字符数"""file_name = "movie.txt"line_counts = 0word_counts = 0character_count...
  • 第十章 实验二 统计英文单词

    千次阅读 2018-05-20 17:53:49
    实验目的:使用Scanner类解析文件我的目的······:上传一个运行没错结果错误但是我现在不想改但是又怕忘记的程序Wordstatistic.javaimport java.io.*;... allWord,noSameWord;//构造函数 s ...
  • /*运行此程序之前要将写有单词英文文章以.txt格式保存在d:\word.txt*/#include#include#include#include#include #include #define N 20#define M 100000#define STACK_INIT_SIZE 100typedef struct ntree{char a...
  • 哈哈哈所以就想着,哪天重写一下,选来选去,觉得垃圾邮件分类里面的单词统计,可以深入给大家好好讲讲这个小案例。这里选用的是一部英文哈利波特小说第一部:3496行,443725个字符下面我们开始捋思路,我们拿到的是...
  • 统计单词数 Java

    2021-03-08 02:20:20
    输入格式一个包含若干句子的段落, 每个句子由若干英文单词组成. 除空格, 逗号和句号外, 这些输入的句子中不含其他非字母字符, 并且, 逗号和句号紧跟在它前面的英文单词后面, 中间没有空格. 段落最后一个字符是回车...
  • 统计Python常用英文单词

    千次阅读 2018-10-04 16:44:03
    1、统计统计Python常用英文单词 1.1、代码 1.2、算法拆解 1.2.1、递归遍历目录 1.2.2、词频统计 1.2.3、提取列表中最短字符串 1.2.4、判断是否为英文单词 1.2.5、英文停词过滤 1.3、结果可视化 2、单词翻译 2.1、...
  • 1.读取文件 2.得到文件大小 3.将文件所有内容存入str数组当中 4.将所有的字符串分割成单词存到word结构体中,此时length++ 5.将word结构体的count循环置为1 6.比较单词 count ++ 7.进行排序 打印
  • 给定指定单词统计其在选定文本中出现的频率 在磁盘目录下保存一篇英文文章,通过程序打开该文件,对里面的数据进行操作;将磁盘文件中的英文文章先用链表装起来,单词一个个地存放到链表中的结点中;这样一来对...
  • #coding:utf-8import sys,os"""python实现任一个英文的纯文本文件,统计其中的单词出现的个数、行数、字符数"""file_name ="file.txt"line_counts =0 #行数word_counts =0 #个数character_counts =0 #字符数with ...
  • #!/usr/bin/env python # coding:UTF-8 """ @version: python3.x ...@file: 统计文件中所有英文单词的数量.py @time: 2019/1/1 20:12 """ import re words = {} r = r...
  • 基于不同策略的英文单词的词频统计和检索系统 本次更新了系统的菜单代码。 #include<iostream> using namespace std; void word_frequency_statistics() { cout << "空" << endl; system("pause...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 18,741
精华内容 7,496
关键字:

word统计英文单词