gpt4 book ai didi

java - BufferedReader - 在 .txt 文件中搜索字符串

转载 作者:行者123 更新时间:2023-12-03 22:56:04 25 4
gpt4 key购买 nike

我正在尝试使用 BufferedReader 来计算 .txt 文件中字符串的出现次数。我正在使用:

File file = new File(path);
try {
BufferedReader br = new BufferedReader(new FileReader(file));
String line;
int appearances = 0;
while ((line = br.readLine()) != null) {
if (line.contains("Hello")) {
appearances++;
}
}
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
System.out.println("Found " + appearances);

但问题是,如果我的 .txt 文件包含例如字符串 "Hello, world\nHello, Hello, world!""Hello" 是被找到然后外观变成两个而不是三个,因为它在一行中只搜索字符串的一个外观。我该如何解决这个问题?非常感谢

最佳答案

最简单的解决办法是做

while ((line = br.readLine()) != null) 
appearances += line.split("Hello", -1).length-1;

请注意,如果您使用 regex-reserved characters 搜索任何内容而不是“Hello” ,你应该在拆分之前转义字符串:

String escaped = Pattern.quote("Hello."); // avoid '.' special meaning in regex
while ((line = br.readLine()) != null)
appearances += line.split(escaped, -1).length-1;

关于java - BufferedReader - 在 .txt 文件中搜索字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24694923/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com