java文本处理之计算文本句子数

本文实例为大家分享了java计算文本句子数的具体代码,供大家参考,具体内容如下

1、任务简介

本节任务是计算文本中的句子数,并且对于句子数的划分标准为“。” “!”和“?”三种符号。

2、基本任务和代码

1)具体思路

(1)首先需要使用InputStreamReader类和BufferedReader类实现文本的读取,由于我使用的文本文档均为utf-8编码,所以还需要指定编码格式为utf-8;

(2)然后需要定义一个空的字符串变量,在对文本逐行读出后将读出的内容追加到该空字符串后;

(3)逐行读出文档,然后使用for循环对该行中的每一个字符进行遍历,使用toString()方法得到每一个字符,再使用if语句和equals()方法字符是否为“。” “!”和“?”三种符号之一,若为其中之一则句子数+1;

(4)将计算得出的句子长度打印出来;

2)任务代码

程序保存为juzi1.java,代码如下:

import java.io.*;//导入java.io包中的所有类
import java.util.Scanner;//导入java.util包中的Scanner类
public class juzi1 {//类名
 public static void main(String[] args) {//程序主函数
  try {//try代码块,当发生异常时会转到catch代码块中
   //读取指定的文件
   Scanner s = new Scanner(System.in);//创建scanner,控制台会一直等待输入,直到敲回车结束
   System.out.println("请输入想要打开的文本文档:");//输入提示信息
   String a = s.nextLine();//定义字符串变量,并赋值为用户输入的信息
   //创建类进行文件的读取,并指定编码格式为utf-8
   InputStreamReader read = new InputStreamReader(new FileInputStream(a),"utf-8");
   BufferedReader in = new BufferedReader(read);//可用于读取指定文件
 StringBuffer b = new StringBuffer();//定义一个字符串变量b,便于后续进行内容追加的操作
 String str = null;//定义一个字符串类型变量str
 String d = null;//定义一个字符串类型变量c
 int e = 0;//定义一个int型变量,用于统计句子数
 while((str = in.readLine()) != null) {//readLine()方法, 用于读取一行,只要读取内容不为空就一直执行
 b.append(str);//将该行内容追加到字符串b的后面
 for (int j = 0; j < str.length(); j++) {//for循环的条件,当j小于该行长度时就一直循环并自增
    d = Character.toString(str.charAt(j));//返回一个字符串对象
    if (d.equals("。")||d.equals("?")||d.equals("!")) {//if语句的条件,判断是否为句子
      e++;//若为一句则e自增一次
     }
  }
 }
   in.close();//关闭流
   System.out.println("该文本共有"+e+"个句子");//输出总的句子数
  } catch (IOException e) {//当try代码块有异常时转到catch代码块
   e.printStackTrace();//printStackTrace()方法是打印异常信息在程序中出错的位置及原因
  }
 }
}

3)运行结果

(1)所有文件均保存在路径D:\demo7下,首先对一个简单的文本文档(格式为utf-8)的句子数进行计算,该文本文档命名为 lsy.txt,内容如下:

从中可以看出该文本文档中共有4句话,然后在命令行中对程序进行编译,并运行程序读取该txt文档,计算结果如下:

(2)最后在命令行下使用该程序对原版《西游记》txt文档进行计算,计算结果如下:

由此可以计算得出我使用的《西游记》文档共含有30804个句子。

3、总结

通过该程序可以计算出文本的总句子数,对于文本的的处理具有重要的意义,由于博主水平有限,故文章中的错误之处恳请各位读者指正,博主对此不胜感激。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

(0)

相关推荐

  • Java计算文本MD5加密值的方法示例

    本文实例讲述了Java计算文本MD5加密值的方法.分享给大家供大家参考,具体如下: java计算文本MD5值,用于加密 import java.security.MessageDigest; import java.security.NoSuchAlgorithmException; public class GetMd5 { public static void main(String[] args) { String a="123"; System.out.println(getM

  • Java利用Map实现计算文本中字符个数

    目录 一.题目要求 二.分析 三.部分代码展示 四.全部代码 五.结果截图(部分) 六.a.txt文本 一.题目要求 有一个英文的文本文档a.txt , 需要读取该文本文档并计算文档中英文字符出现的次数,最后打印输出 注意:map集合只能放入英文字符,不能够有空格数字引号等字符,所以在写代码的时候需要额外的进行判断,还需要考虑的一点是英文字符是有大小写的,但是统计在map里面就不区分大小写 二.分析 1.需要先获取文档的路径,并创建HashMap作为存放次数的容器,key的类型为Characte

  • java文本处理之计算文本句子数

    本文实例为大家分享了java计算文本句子数的具体代码,供大家参考,具体内容如下 1.任务简介 本节任务是计算文本中的句子数,并且对于句子数的划分标准为"." "!"和"?"三种符号. 2.基本任务和代码 1)具体思路 (1)首先需要使用InputStreamReader类和BufferedReader类实现文本的读取,由于我使用的文本文档均为utf-8编码,所以还需要指定编码格式为utf-8: (2)然后需要定义一个空的字符串变量,在对文本逐行读

  • 如何用javascript计算文本框还能输入多少个字符

    下面代码超简单,不多说了,直接上代码. //输入计数 //count:能輸入的數據總量 function Calculation(v, count) { var span = $(v).next(); var valLength = $(v).val().length; if (valLength > count) { $(v).val($(v).val().substr(0, count)); valLength = count; } span.text("您已輸入" + va

  • java实现简单的英文文本单词翻译器功能示例

    本文实例讲述了java实现简单的英文文本单词翻译器功能.分享给大家供大家参考,具体如下: 直接上代码: package fanyi; import java.io.BufferedReader; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.IOException; import java.io.InputStreamReader;

  • 基于jQuery的计算文本框字数的代码

    一.功能: 1.用户边输入计算同时进行,告诉用户还剩余多少可输入的字数; 2.当超过规定的字数后,点击确定,会让输入框闪动 二.功能分析 1.重点是用什么事件? 标准浏览器用oninput,而IE则使用onpropertychange ,这两个事件的发生条件,是文本框的值发生改变. 2.字数的计算. 2.1一个中文算两个,一个符号或数字,英文,算一个.(如果是规定140个字,乘以2,那么就是280个) 2.2需要用到Math.ceil方法,因为最后还是要除以2来还原显示给用户的字数; 3.闪动背

  • jQuery计算文本框字数及限制文本框字数的方法

    一个中文算两个,一个符号或数字,英文,算一个.(如果是规定140个字,乘以2,那么就是280个).需要用到Math.ceil方法,因为最后还是要除以2来还原显示给用户的字数; $(function(){ var $tex = $(".tex"); var $but = $(".but"); var ie = jQuery.support.htmlSerialize; var str = 0; var abcnum = 0; var maxNum = 280; var

  • 计算文本域剩佘长度的js代码

    JS 计算文本域剩余字数 function displaySpareNumber(_this,size) { var spareNumber=document.getElementById("spareNumber"); //汉字长度 var len=_this.value.replace(/[^\x00-\xff]/gi,'xx').length; var snum=parseInt(size)-len; spareNumber.value=snum; if(snum(size/2)

  • java使用itext导出PDF文本绝对定位(实现方法)

    jar:itext-4.2.1.jar 在很多公文的落款处都需要绝对定位,所以记录此代码如下: PdfWriter writer = PdfWriter.getInstance(document, new FileOutputStream("test.pdf")); PdfContentByte cb = writer.getDirectContent(); BaseFont bf= BaseFont.createFont("STSong-Light", "

  • Java 读取PDF中的文本和图片的方法

    本文将介绍通过Java程序来读取PDF文档中的文本和图片的方法.分别调用方法extractText()和extractImages()来读取. 使用工具:Free Spire.PDF for Java(免费版) Jar文件获取导入: 方法1:通过官网下载jar文件包.下载后,解压文件,并将lib文件夹下的Spire.Pdf.jar文件导入java程序.导入后如下图: 方法2: 可通过maven仓库安装导入. Java代码示例 import com.spire.pdf.*; import java

随机推荐