gpt4 book ai didi

java - 如何在Java文件中找到简单的单词?

转载 作者:行者123 更新时间:2023-12-01 10:18:50 26 4
gpt4 key购买 nike

我需要帮助。我是一名初级程序员,我尝试用正则表达式编写程序。我尝试在我的文件中找到每一个生活单词。我有这样的代码:

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

public class myClass {

public int howManyWord () {
int count = 0;
try {
BufferedReader br = new BufferedReader(new FileReader("C:/myFile.txt"));
String line = "";
while ((line = br.readLine()) != null) {
Matcher m = Pattern.compile("life").matcher(line);
while (m.find()) {
System.out.println("found");
count++;
}
}
} catch (IOException e) {
e.printStackTrace();
}

return count;
}
}

这有效。我尝试改变这一点,因为当我搜索我的单词时,当编译器发现类似“lifelife”的计数为 2 时。我应该改变什么?

抱歉我的英语不好,请帮助我。

最佳答案

使用Pattern p = Pattern.compile("\\blife\\b");并在while循环之前设置一次模式。

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

public class myClass {

public int howManyWord () {
int count = 0;
try {
BufferedReader br = new BufferedReader(new FileReader("C:/myFile.txt"));
String line = "";
Pattern p = Pattern.compile("\\blife\\b"); // compile pattern only once
while ((line = br.readLine()) != null) {
Matcher m = p.matcher(line);
while (m.find()) {
System.out.println("found");
count++;
}
}
} catch (IOException e) {
e.printStackTrace();
}

return count;
}
}

关于java - 如何在Java文件中找到简单的单词?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35751321/

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