在java中搜索文件中的多个字符串

时间:2011-04-17 16:55:14

标签: java

String [] searchText = {“sports”,“football”,“play”,“time”}; 如何在文件中搜索这些单词

3 个答案:

答案 0 :(得分:5)

这应该有效(给定一些表示文档的String)

Pattern p = Pattern.compile("(sports|football|play|time)");
Matcher m = p.matcher(s);

int start = 0;
while (m.find(start)) {
    System.out.println("Match found: " + m.group(1) + " at position: " + m.start());
    start = m.end();
}

答案 1 :(得分:0)

您可以通过逐行读取文件以强制方式执行此操作,并检查每个文件以查看数组中是否出现一个或多个单词。

或者你可以使用Lucene和索引做更优雅的事情。如果您真的想要在您感兴趣的单词频繁更改的情况下进行搜索,那么这将是一个更好的主意。

答案 2 :(得分:0)

最简单的方法:对文件进行线性搜索:

  1. 打开文件
  2. 按字解析
  3. 解析时,检查列表中是否有word
  4. 一种更有效但更复杂的方法是编写一个程序来计算文件的文本索引并使用该索引来搜索单词。