java - 基于此代码Java的文件的每个句子中有多少个单词
问题描述
我需要根据此代码计算文件的每个句子中有多少个单词我们有一个名为archivo的文件:
File archivo = null;
try {
archivo = new File("Text.txt");
String line;
FileReader fr = new FileReader (archivo);
BufferedReader br = new BufferedReader(fr);
int i,a=0;
while((linea=br.readLine())!=null) {
for(i=0;i<line.length();i++){
if(i==0){
if(line.charAt(i)!=' ')
a++;
}else{
if(line.charAt(i-1)==' ')
if(line.charAt(i)!=' ')
a++;
}
}
}
这里我们打印字数,但我还需要每句话的字数
System.out.println("There are "+a+" words");
fr.close();
}catch(IOException a){
System.out.println(a);
}
}
}
text.txt 说:
嗨,我是凯蒂,我有两只猫。
解决方案
执行以下操作:
String line;
int count=0, totalCount=0;
while((line=br.readLine())!=null) {
count = line.split("\\s+").length;
System.out.println("The number of words in '" + line + "' is: " + count);
totalCount += count;
}
System.out.println("The total number of words in the file is " + count);
说明: String::split函数根据指定的正则表达式将字符串拆分为字符串数组。正则表达式,\\s+
表示一个或多个空格。对于每一行,程序正在打印,count
即单词的数量(这是拆分发生后结果数组的长度)并将其添加到totalCount
. 最后,程序打印totalCount
(这是文件中的总字数)。
推荐阅读
- python-3.x - 如何将 2 个不同的 python 3 tkinter GUI 程序与不同的几何管理器集成
- php - 循环符号减号和数字php
- android - 如何从控制台开发人员生成服务器 Api 密钥以使用查找两个位置的距离
- javascript - 如何添加一个可以通过id跳转到下一页的点击事件行?
- python - Python 错误 - “ImportError:无法导入名称‘dist’”
- c - 循环索引计数器是否存储在缓存中?
- winforms - C# 在 3 层架构中访问 app.config 文件
- java - 支持 HATEOAS 的自定义 Spring Data Rest Controller
- jenkins - 使用 Kubernetes 在 Jenkins 上使用 docker-compose 进行 CI 测试
- php - PHP/HTML:从客户端检测到一个潜在的危险值 Request.Path (<)