我正在编写一种方法来搜索列表形式的文字文件,搜索用户输入的文字,但如果找到一个字母,程序将返回一个肯定的结果。例如,如果我搜索“f”,当没有单词时,它将返回字典中有一个单词“f”
public static void Option3Method(String dictionary) throws IOException {
Scanner scan = new Scanner(new File("wordlist.txt"));
String s;
String words[] = new String[500];
String word = JOptionPane.showInputDialog("Enter a word to search for");
while (scan.hasNextLine()) {
s = scan.nextLine();
int indexfound = s.indexOf(word);
if (indexfound > -1) {
JOptionPane.showMessageDialog(null, "Word was found");
} else if (indexfound < -1) {
JOptionPane.showMessageDialog(null, "Word was not found");
}
}
}
你说字母,你说单词,你到底在搜索什么?
如果你搜索单词,你必须在单词边界内搜索一个单词:正则表达式java.util.regex.模式\b,如anubhava所示。
如果(indexfound),则可以替换}else
使用如下方法代替字符串索引
boolean matched = s.matches("\\b" + word + "\\b");
这将确保在具有单词边界的行中找到用户输入的单词。
顺便说一句,不清楚为什么你声明了一个包含500个元素的字符串数组,你没有在任何地方使用它。
if (indexfound>-1)
{
JOptionPane.showMessageDialog(null, "Word was found");
}
else if (indexfound<-1)
{
JOptionPane.showMessageDialog(null, "Word was not found");}
}
此代码的问题是,索引查找可以等于-1,但不能小于
-1。更改<代码>
另一种选择
这是一种非常晦涩的方法,用于检查另一个
String
中是否存在String
。在String对象中使用匹配
方法更合适。这是留档。
示例
类似于:
String phrase = "Chris";
String str = "Chris is the best";
// Load some test values.
if(str.matches(".*" + phrase + ".*")) {
// If str is [something] then the value inside phrase, then [something],true.
}
问题内容: 我有很多小文本(说大约500个单词)和两个数据库,每个数据库大约有10.000个条目(关键字)。 现在,我想处理每个文本,并找出文本中包含哪些关键字(保存在2个数据库中的关键字)。 你们中的某人是否有有效地做到这一点的好方法? 我想对每个文本进行处理并对其进行索引(也许使用lucene),然后再针对它搜索数据库,但是我真的不知道lucene是否是正确的工具。 问题答案: Lucene正
朋友们,我有一段代码,它读取文本文件并搜索匹配的单词,但在搜索文本文件时存在不确定性。有时它能够匹配单词,有时它不能,尽管单词存在于文本文件中。 代码如下: 以下是我的文本文件内容: 有人知道为什么会这样吗?假设我在文本文件中添加一个单词“finish”,然后搜索它,它总会找到它。但是,如果我的搜索词是“dadas”或“dadist”,则在et中生成null。
带有Mongoose的MongoDB(3.2.0) 收藏: 用户 null 查询: =>找到 =>找到(搜索大小写敏感为false) =>找到(使用diacriticSensitive搜索为false) =>找到(部分搜索) =>未找到(部分搜索) =>未找到(部分搜索) 你知道为什么我用查询“Leo”或“L”得到0个结果吗? null
我正在ruby平台上使用twitter流媒体API。在twitter gem的帮助下(https://github.com/sferik/twitter)我能找到流文本。 通过查看推文,我可以获得推文。 :文本= 但我需要准确的搜索文本,它输入了如下内容:search= 在检查推文,我得到的输出为
拉平文本 删除文本信息(不删除文本本身) 向文档添加覆盖。 目前,我不知道如何实现这一点。有没有人知道怎么解决这个问题?
问题内容: 我是Lucene的新手,在创建 用于查询文本文件集合的 简单代码时遇到一些问题。 我尝试了此示例,但与新版本的Lucene不兼容。 UDPATE: 这是我的新代码,但是仍然无法使用。 问题答案: Lucene是一个相当大的主题,涉及很多类和方法,通常您必须至少了解一些基本概念才能使用它。如果您需要快速可用的服务,请改用Solr。如果您需要对Lucene的完全控制,请继续阅读。我将介绍一