gpt4 book ai didi

Android - 比较文本文件内容上的字符串输入

转载 作者:搜寻专家 更新时间:2023-10-30 23:15:16 24 4
gpt4 key购买 nike

我可以请你指导我如何完成这个问题吗?我需要将 inputWord 与 .txt 文件中的字符串进行比较,如果找到,则返回整行,但如果没有,则显示“未找到单词”。

例子:

inputWord: abacus

Text file content:
abaca - n. large herbaceous Asian plant of the banana family.
aback - adv. archaic towards or situated to the rear.
abacus - n. a frame with rows of wires or grooves along which beads are slid, used for calculating.
...
so on

Returns: abacus with its definition

我想做的是将我的 inputWord 与“-”(连字符作为分隔符)之前的词进行比较,如果它们不匹配,则移至下一行。如果它们匹配,则复制整行。

我希望这看起来不像是我在要求您“做我的功课”,但我尝试了不同论坛和网站上的教程。我也阅读了 Java 文档,但我真的无法将它们放在一起来完成此任务。

提前致谢!

更新:

这是我当前的代码:

if(enhancedStem.startsWith("a"))
{
InputStream inputStream = getResources().openRawResource(R.raw.definitiona);
try {
BufferedReader in = new BufferedReader(new InputStreamReader(inputStream));
String s = in.readLine();
String delimiter = " - ";
String del[];
while(s != null)
{
s = in.readLine();
del = s.split(delimiter);
if (enhancedStem.equals(del[0]))
{
in.close();
databaseOutput.setText(s);
break;
}
}
in.close();
}
catch (FileNotFoundException e) {
databaseOutput.setText("" + e);
}
catch (IOException e1) {
databaseOutput.setText("" + e1);
}
}

非常感谢!这是我想出的,它正确地返回了输入的定义,但问题是,当我输入一个在文本文件中找不到的词时,应用程序崩溃了。流行语似乎不起作用。知道我该如何捕捉它吗? Logcat 在第 4342 行说 NullPointerExcepetion 是

s = in.readLine();

最佳答案

假设文本文件中每一行的格式是统一的。这可以通过以下方式完成:

1) 逐行读取文件。

2) 根据分隔符拆分每一行,并将拆分后的字符串标记收集到一个临时字符串数组中。

3) 临时 token 数组中的第一个条目将是“-”符号之前的单词。

4) 将临时数组中的第一个条目与搜索字符串进行比较,如果匹配则返回整行。

可以将以下代码放在一个函数中来完成此操作:

String delimiter = "-";
String[] temp;
String searchString = "abacus";

BufferedReader in = new BufferedReader(new FileReader(file));

while (in.readLine() != null) {
String s = in.readLine();

temp = s.split(delimiter);

if(searchString.equals(temp[0])) {
in.close();
return s;
}
}

in.close();
return ("Word not found");

希望这对您有所帮助。

关于Android - 比较文本文件内容上的字符串输入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15080627/

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