统计某字符串在文件中出现的次数

Posted constxiong

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了统计某字符串在文件中出现的次数相关的知识,希望对你有一定的参考价值。

有几点注意事项:

  • 默认文件里的字符串是按行进行统计的,如果字符串存在跨行的情况,那需要考虑把字符串进行拼接、去除换行符。这里未考虑
  • 字符串里出现的字符串的次数的问题可以使用: indexOf 方法配合 substring 方法获取;正则表达匹配;替换指定单词未空,通过缩减长度 / 单词长度,即未次数。这里只用正则实现
package constxiong.interview;

import java.io.BufferedReader;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
import java.util.regex.Matcher;
import java.util.regex.Pattern;

/**
 * 统计某字符串在文件中出现的次数
 * 
 * @author ConstXiong
 */
public class TestCountWord {

    public static void main(String[] args) {
        String filePath = "/Users/handsome/Desktop/a.txt";
        String word = "ConstXiong";
        System.out.println(countWordAppearTimes(filePath, word));
    }
    
    /**
     * 统计每行的出现单词的出现次数之后
     * @param filePath
     * @param word
     * @return
     */
    public static int countWordAppearTimes(String filePath, String word) {
        int times = 0;
        FileReader fr = null;
        BufferedReader br = null;
        try {
            fr = new FileReader(filePath);
            br = new BufferedReader(fr);
            String line;
            while ((line = br.readLine()) != null) {//读文件每行字符串
                //按照单词正则查找出现次数
                Pattern p = Pattern.compile(word);
                Matcher m = p.matcher(line);
                while (m.find()) {
                    times++;
                }
            }
        } catch (IOException e) {
            e.printStackTrace();
        } finally {
            if (fr != null) {
                try {
                    fr.close();
                } catch (IOException e) {
                    e.printStackTrace();
                }
            }
            if (br != null) {
                try {
                    br.close();
                } catch (IOException e) {
                    e.printStackTrace();
                }
            }
        }
        return times;
    }

}

 


原文链接
 


技术图片

 

 

以上是关于统计某字符串在文件中出现的次数的主要内容,如果未能解决你的问题,请参考以下文章

Excel如何统计某单元格内特定字符串出现的次数

编写一个Java程序,用于接受一个字符串,并统计某字符在该字符串中出现的次数

C语言 统计文本文件中出现的次数最多和最少的字符串

统计某字符(串)重复出现次数

57. 两种统计字符出现次数的方法

PostgreSQL数据库统计某字符出现次数的新奇思路