我正在使用文本文件从中读取值并将其加载到缓冲读取器中。此后,我逐行读取文件,并检查是否有任何行包含我的关键字之一(我已将它们放入String列表中)。Java子字符串匹配失败
然而,即使行包含我期待它不会检测到它的关键字,并赋予它一个小姐,这里是代码
for(int i=0;i<sortedKeywordList.size();i++)
{
String tempString=sortedKeywordList.get(i);
while(US.readLine()!=null)
{
String str=US.readLine();
//System.out.println(str);
if(str.contains(tempString)){
System.out.println("Contains: "+tempString);
}
else{
System.out.println("Miss");
}
}
}
调用'readLine()'两次似乎是问题,您将跳过文件的一半以上的行。 – 2012-04-19 17:02:03
你想检查是否有任何关键字在给定的行中?然后你应该切换循环的顺序(以及用'readLine()'修复这个问题),这样你就可以在移动到下一行之前检查每个关键字的行。 – twain249 2012-04-19 17:05:40