文章目录

  • 需求:收集一张英语试卷里的所有单词,返回包含所有单词的List集合
  • 思路
    • 1.将试卷(格式良好)整体作为字符串读入
    • 2.split方法拆分原字符串
    • 3.正则表达式过滤杂质
  • 代码
    • 1.工具类
    • 2.核心代码
    • 3.测试
    • 4.结果
    • 5.使用set集合去重
    • 6.再测试
    • 7.再看结果

需求:收集一张英语试卷里的所有单词,返回包含所有单词的List集合

比如这是张英语六级考试卷子:
现需要将里面的每个单词都保存到一个List集合中。

思路

1.将试卷(格式良好)整体作为字符串读入

2.split方法拆分原字符串

3.正则表达式过滤杂质

代码

1.工具类

/*** * @author pigcc* <p>Title: fileToString</p>  * <p>Description: 读出文本文件内的字符串</p>* @date 2019年10月22日 * @param fileName 文件全路径* @return 文本字符串*/
public static String fileToString(String fileName){StringBuilder sb=new StringBuilder();try (BufferedReader br=new BufferedReader(new FileReader(fileName))){String info;while((info=br.readLine())!=null) {sb.append(info+" ");}} catch (Exception e) {e.printStackTrace();}return sb.toString();

2.核心代码

/*** * @author pigcc* <p>Title: fileToWords</p>  * <p>Description: 将给定路径下的试卷里的所有单词作为List返回,已经除去杂质,变大写为小写</p>* @date 2019年10月16日 * @param filePath 文件全路径* @return 单词列表*/public static List<String> fileToWords(String filePath) {String s=fileToString(filePath);String regex="[\\W]";//匹配空格,标点符号等特殊字符,用于split分割String highAlpha = "[A-HJ-Z\\d]+";//匹配大写字母(除了I)与数字,(用于除去A,B,C,D...1,2,3,...)题号与选项号String alph="[a-zA-Z]+";//匹配英文字母,用于除去中文//分割后的原始列表List<String> rawWords = Arrays.asList(s.split(regex));//列表除杂,fliter规则:单词长度大于零,非中文,非数字,非全大写字母;//map规则:大写->小写List<String> validWords = rawWords.stream().filter((str)->str.length()>0&&Pattern.matches(alph, str)&&!Pattern.matches(highAlpha, str)).map(high->high.toLowerCase()).collect(Collectors.toList());return validWords;}

3.测试

public static void main(String[] args) {List<String> words=fileToWords("D:\\desktop\\AAApapers\\6\\2017\\6\\1.txt");System.out.println(words);System.out.println(words.size());}

4.结果

我们可以看到,一张英语六级真题,有四千个词左右!乍一看六级好难!

5.使用set集合去重

除杂部分代码改为:

Set<String> validWords = rawWords.stream().filter((str)->str.length()>0&&Pattern.matches(alph, str)&&!Pattern.matches(highAlpha, str)).map(high->high.toLowerCase()).collect(Collectors.toSet());

6.再测试

public static void main(String[] args) {Set<String> words=fileToWords("D:\\desktop\\AAApapers\\6\\2017\\6\\1.txt");System.out.println(words);System.out.println(words.size());}

7.再看结果

我们可以看到,一张英语六级真题,只考大概一千二百个不同的单词!乍一看好像又容易了!

测试试卷: 真题链接

附个人完整练手项目:www.lword.top

收集一张英语试卷的所有单词相关推荐

  1. 初中人教版计算机考试试题,人教版初中英语试卷试题

    人教版初中英语试卷试题 初中英语的知识点你掌握了多少?一起来做题检测一下吧.以下是小编为大家搜集整理提供到的人教版初中英语试卷试题,希望对您有所帮助.欢迎阅读参考学习! 一.单项填空(15分) 1. ...

  2. 初中英语多词性单词怎么办_高考英语阅读理解生僻单词太多怎么办?十大招数帮到你...

    英语阅读理解生僻单词太多怎么办?今天,胡老师告诉你猜词十大招数,帮助同学们英语考试拿高分.  01  构词法 阅读中常常会遇到一些由熟悉的单词派生或合成的新词.掌握构词法对猜测词义很有帮助.如:unf ...

  3. 计算机英语统考试卷分析,英语试卷分析

    与<英语试卷分析>相关的范文 走出高中英语试卷分析课的误区 浙江省兰溪市第五中学 蒋如家 (Tel: 0579-88376328 Post: 321100 E-mail: jrj1118@ ...

  4. 计算机英语统考试卷分析,考试英语试卷分析

    作业内容 第二阶段考试英语试卷分析 本次考试试卷依然采用全国卷的形式,分为客观题(听力,阅读,七选五,完形填空)及主观题(短文改错和书面表达)下面针对考试情况分大题进行逐题分析与探讨,并结合教学提出建 ...

  5. 对口高考 html语言,对口高考英语试卷2017

    心有多宽,舞台就有多大,心有多高,梦想就有多远.对自己要有信心,祝高考成功!下面是学习啦小编为大家推荐的对口高考英语试卷2017,仅供大家参考! 对口高考英语试卷2017 第一部分:听力(共两节,满分 ...

  6. 专科大二计算机英语试卷,大学计算机英语参考试卷.doc

    大学计算机英语参考试卷,计算机专业英语试卷,计算机英语试卷,大学英语四级考试卷,大学英语四级模拟试卷,大学英语四级试卷,大学英语试卷及答案,大学英语试卷,大学英语试卷分析,大学英语六级试卷 参考试卷 ...

  7. 用计算机打字英语单词,常用计算机专业英语词汇-前401-500单词

    常用计算机专业英语词汇-前401-500单词 贡献者:邓鹏 类别:中英混合 时间:2020-10-28 16:48:34 收藏数:2 评分:0 返回上页 举报此文章 请选择举报理由: 广告/谣言/欺诈 ...

  8. asp.net listview 字段太多 滚动条_高考英语阅读理解生僻单词太多怎么办?十大招数帮到你...

    英语阅读理解生僻单词太多怎么办?,今天,库库告诉你猜词十大招数,帮助同学们英语考试拿高分. 01 构词法 阅读中常常会遇到一些由熟悉的单词派生或合成的新词.掌握构词法对猜测词义很有帮助.如:unfor ...

  9. 中职中职计算机英语试题,中职英语试卷及参考答案

    <中职英语试卷及参考答案>由会员分享,可在线阅读,更多相关<中职英语试卷及参考答案(5页珍藏版)>请在装配图网上搜索. 1.中职英语试卷及参考答案得 分阅卷人一.Transla ...

最新文章

  1. windows下安装和配置Redis
  2. Elasticsearch 参考指南(重要的系统配置)
  3. 2019五月到六月反思复盘
  4. python调用C语言函数(方法)的几种方法
  5. C语言程序设计上机前三题,C语言程序设计(含上机实验与习题解答)
  6. centOS下安装tomcat详解
  7. MySQL 5.7原生JSON格式支持
  8. 如何更流畅地使用 Google 搜索?
  9. 乌班图配置mysql Java_从零开始的告警平台(1)
  10. 微信的APP支付开发,服务端和支付端的问题
  11. 通信原理及系统系列8—— 如何消除码间串扰
  12. 富文本编辑器Froala Editor v3.x 使用
  13. web测试之功能测试总结
  14. JAVA / JS 中关于this和that
  15. zigbee芯片cc2430资料
  16. 监听imput框的内容变化
  17. 华为p30pro鸿蒙悟空,华为新广告《悟空》火了,竟是华为P30Pro拍的?
  18. workman 和swoole 区别
  19. Ocean Chain: 海洋渔业的价值连接器?
  20. 中国AI方法影响越来越大,天大等从大量文献中挖掘AI发展规律

热门文章

  1. 51单片机LED流水灯、走马灯的实现
  2. 爪哇国新游记之十八----泛型栈类
  3. 《非计算机毕业生2015互联网校招求职之路》2014-10-15
  4. [网络安全课程实验]:基于nmap 的网络扫描和信息分析
  5. 计算机启用无线网络,有无线网络,电脑也开启了无线网络了,但是就是搜索不到无线网,怎么设置?...
  6. cjk-ext-e 字体
  7. 试试mysql数据碎片整理吧解决astgo经常死机变慢的问题
  8. Android中EditText隐藏/自动弹出输入法的问题
  9. 字节跳动 2022年春招
  10. 中国生活垃圾处理行业十四五规划与投融资模式分析报告2022~2028年