0
我正在製作一個關於客戶端/服務器編程的程序,其中用戶將在控制檯中輸入一個字符串,程序將搜索每一行.txt文件該字符串,並輸出特定字符串所在的整行。StringTokenizer似乎不能在我的程序中工作 - Java
這是代碼的一部分,其中使用的StringTokenizer:
String line = "";
boolean wordFound = false;
while((line = bufRead.readLine()) != null) {
StringTokenizer str = new StringTokenizer(line, ", .();:-?!'");
while(str.hasMoreTokens()) {
String next = str.nextToken();
if(next.equalsIgnoreCase(targetWord)) {
wordFound = true;
output = line;
break;
}
}
if(wordFound) break;
else output = "Quote not found.";
}
的問題是,當我要搜索的字符串例如「你是」或「這是我的生日」(帶撇號和/或空格),它給布爾型wordFound提供了一個錯誤的值。我嘗試刪除分隔符「」和「'」,但仍然無效。
我曾經修改了代碼,我有時會爲布爾型wordFound獲得一個真正的值,但現在看起來它並不忽略這種情況。例如我輸入了「你是」,wordFound就變成了真的。但是如果我將它改爲「你是」或「你是再」,wordFound仍然是錯誤的。
有人可以幫我找到解決這個問題的辦法嗎?謝謝。