我正在使用文本文件從中讀取值並將其加載到緩衝讀取器中。此後,我逐行讀取文件,並檢查是否有任何行包含我的關鍵字之一(我已將它們放入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