gpt4 book ai didi

java - StringTokenizer 似乎在我的程序中不起作用 - Java

转载 作者:行者123 更新时间:2023-12-01 15:36:15 24 4
gpt4 key购买 nike

我正在制作一个关于客户端/服务器编程的程序,其中用户将在控制台中输入一个字符串,该程序将在 .txt 文件的每一行中搜索该字符串,并输出该特定字符串所在的整行。字符串驻留。

这是使用 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.";
}

问题是当我想搜索一个字符串时,例如“你是”或“这是我的生日”(带有撇号和/或空格),它为 boolean wordFound 提供错误值。我尝试删除分隔符“”和“'”,但仍然不起作用。

我曾经修改过代码,有时会得到 boolean wordFound 的真值,但现在看来它并没有忽略大小写。例如我输入“you're”,wordFound 变为 true。但如果我将其更改为“You're”或“yOu'Re”,wordFound 仍然为 false。

有人可以帮我找到解决这个问题的方法吗?谢谢。

最佳答案

你的字符串标记器应该是:

StringTokenizer str = new StringTokenizer(line, ", .();:-?!\"");

在您的代码中,您有 StringTokenizer(line, ", .();:-?!'"); ' 而不是 ",它将您的文本 youre" 标记为 you重新“

关于java - StringTokenizer 似乎在我的程序中不起作用 - Java,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8808019/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com