【JAVA】文本处理(3)—统计文档中汉字、数字、字母和空格标点的个数

一、前言

本次学习应用于文本处理方面,前面我们说到实现给文本字符后加斜杠和空格,本次目的是为了实现统计不同种类的字符频率

在上一篇博客中我们讲到了正则表达式

在这里我们将要实际的应用正则表达式,来识别和统计不同种类字符的频率

二、正则表达式语法

1.从上一篇博客中暂提以下的语法表,详情参见正则表达式链接
1
2
3
4

JAVA程序中会使用到的正则表达式

API中相关类:相关类位于:java.util.regex包下面
• 类 Pattern
– 正则表达式的编译表示形式。
Pattern p = Pattern.comp
ile(r,int); //建立正则表达式,并启用相应模式
• 类 Matcher
– 通过解释 Patterncharacter sequence 执行匹配操作的引擎
Matcher m = p.matcher(str); //匹配str字符串

2.在本次任务中实际会应用的语法:

(1)使用BufferedReader/BufferedWriter处理流和InputStreamReader/OutputStreamWriter处理流(IO流知识参见链接

(2)判断数字:"\\d"

(3)判断字母:"[a-zA-Z]"

(4)判断汉字:"[\\u4e00-\\u9fa5]"

(5)判断空格:"\\s"

(6)判断标点:"\\pP"

(7)循环读取:.readLine()

每类字符查询分别调用方法,详情见下面程序。

三、编程学习

1)任务要求

  • 完成一个 java application应用程序,实现文本文档的读取和写入,将修改后(统计文档中汉字、数字、字母和空格标点的个数)的新内容存入到新的文本文档中。
  • 应用数据流的相关知识,使用BufferedReader/BufferedWriter处理流:将Reader/Writer对象进行包装,增加缓存功能,提高读写效率。使用InputStreamReader/OutputStreamWriter处理流:将字节流对象转化成字符流对象。
  • 应用正则表达式的知识进行字符种类查询。

2)程序代码

/* 项目名称:Task_Shao
 * 创建时间:2019年2月16日
 * 创建者:Administrator_wz
 * 创建地点:kmust
 * 功能:统计文档中汉字、数字、字母和空格标点的个数(java IO流&正则表达式)
 */
import java.io.*;//导入java.io包中的所有类
import java.util.regex.Matcher;//导入java.util包中的Matcher类
import java.util.regex.Pattern;//导入java.util包中的Pattern类
import java.util.Scanner;//导入java.util包中的Scanner类 
public class traversal_character_type {
   //创建类名
	public static void main(String[] args) throws IOException {
   //程序的主函数入口
		//String name = "H:/mycode/Winter_vacation/Traversal character type/xiyouji.txt"; //文件名(直接查找)  
		int num = 0;       //数字数  
		int letter = 0;   //字母数  
		int line = 0;    //行数  
		int space = 0;  //空格数  
		int word= 0;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值