java实现按词头、词尾提取英文文档中的单词的完整代码代码
发布网友
发布时间:2023-07-17 02:35
我来回答
共2个回答
热心网友
时间:2024-10-23 22:20
public class Test {
public static void main(String[] args) {
Test t =new Test();
File file = new File("E:\\桌面\\words.txt");
try {
List<String> list= t.getWords(file, true,"h");
for (String string : list) {
System.out.print(string+" ");
}
} catch (Exception e) {
e.printStackTrace();
}
}
/**
* java实现按词头、词尾提取英文文档中的单词
* @param file 原文件
* @param isHead 按词头true 按词尾false
* @param fix 关键词
* @return
* @throws Exception
*/
public List<String> getWords(File file , boolean isHead,String fix) throws Exception{
//读取文件中的内容到字符串str
FileInputStream fis = new FileInputStream(file);
BufferedInputStream bis = new BufferedInputStream(fis);
int i=0;
String str = "";
while ((i=bis.read())!=-1) {
str+=(char)i;
}
System.out.println(str);
bis.close();
fis.close();
//将str分割为单词数组
String[] words = str.split(" ");
List<String> list = new ArrayList<String>();
if (isHead) {
for (String word : words) {
if (word.startsWith(fix)) {
list.add(word);
}
}
}else {
for (String word : words) {
if (word.endsWith(fix)) {
list.add(word);
}
}
}
return list;
}
}
追问还有,我运行这段代码后输出的是整篇文档,标点符号都有
热心网友
时间:2024-10-23 22:20
举个例子。追问就是在一片英文文档中提取词头或词尾含有指定字符串的单词,比如词尾是s、es