2011-04-17 69 views
0

String [] searchText = {“sports”,“football”,“play”,“time”}; 如何搜索这些单词是否在文件中可用在java文件中搜索多个字符串

+0

这是功课?如果是这样,那很好......但你应该把它标记为'家庭作业' – 2011-04-17 16:58:48

回答

0

您可以通过逐行读取文件并检查每一个文件来检查数组中是否有一个或多个单词出现。

或者你可以做一些更优雅Lucene和索引。如果您确实想要搜索您感兴趣的文字频繁更改的地方,这将是一个更好的主意。

0

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

  1. 打开文件
  2. 由字
  3. 解析它在解析,检查是否word出现在列表

更高效但复杂的方法是编写程序,计算文件的文本索引并使用该索引搜索单词。

5

这应该工作(因为一些字符串s表示文档)

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(); 
} 
+0

整洁的解决方案MeBigFatGuy – HpTerm 2012-02-13 16:50:40