我正在尝试将文本文件中的字符串与来自用户输入的字符串进行匹配。我可以使用带有 的 while 循环找到并显示它if (String.valueOf(str).toLowerCase().contains(u))
,但是说我有一行带有 test 和下一行带有 test3 它将打印两行。我需要它做的是搜索只是测试并打印它所在的行而不打印 test3 。
编辑对不起,我不太擅长描述这一点。StringBuilder()
问题是这样的:我有一个类,它使用这样的文本文件写入数组。
[日期和时间] 约翰测试犬
[日期和时间] Mary Test3 Moo
所以我得到了用户输入,可以说它是测试。我需要让下面的阅读器在文件中的所有行中仅搜索“test”并将其所在的整行发送回去。但是当我用我目前拥有的东西来做这件事时,它会发回“test”和“test3”的行。此外,“test”的位置在字符串中总是相同的。
抱歉这么含糊,我对此还是很陌生。
这是我的读者自动取款机:
Reader reader = new FileReader("EzRegion.txt");
BufferedReader in = new BufferedReader(reader);
while ((str = in.readLine()) != null)
{
if (String.valueOf(str).toLowerCase().contains(u))
{
sender.sendMessage(ChatColor.YELLOW + str);
}
}