让我说我输入:'狗是哺乳动物'
我想在文本文档中搜索这句话。我如何在java中做到这一点?
System.out.println("Please enter the query :");
Scanner scan2 = new Scanner(System.in);
String word2 = scan2.nextLine();
String[] array2 = word2.split(" ");
此代码段接受字符串'dog is mammal'并分别处理每个令牌。
例如:'狗是哺乳动物'
狗
>
>
是
>
>
哺乳动物
>
>
我想将输入处理为
狗是哺乳动物>
>
我不希望它单独处理它。我希望它将它作为单个字符串处理并查找匹配项。任何人都可以让我知道我缺少的地方吗?
答案 0 :(得分:3)
如果要将String作为单个文本处理,为什么要将字符串拆分为单词。我只会使用您拥有的原始word2
,即整个文本AFAICS
编辑:如果我跑
System.out.println("Please enter the query :");
Scanner scan2 = new Scanner(System.in);
String word2 = scan2.nextLine();
System.out.println(">"+word2+"<");
我得到了
Please enter the query :
dog is mammal
>dog is mammal<
输入不会被分解。
答案 1 :(得分:0)
直接在文件中找到word2
,如果您已解析整个文件,则在文件中使用字符串indexof(word2)
答案 2 :(得分:0)
在阅读时简单地将它们连接起来:
public String scanSentence() {
Scanner scan2 = new Scanner(System.in);
StringBuilder builder = new StringBuilder();
String word2;
//I do not know how you want to terminate input, so let it be END word.
//If you will be reading from file - change it to "while ((word2 = scan2.nextLine()) != null)"
//Notice the "trim" part
while (!(word2 = scan2.nextLine().trim()).equals("END")) {
builder.append(word2);
builder.append(" ");
}
return builder.toString().trim();
}