現在、私はファイルを持っています。私が探しているテキストのすべての行を検索するコマンドを作ろうとしています。 「テキストは、私が「猫」を検索した場合、それは「ボブは猫を持っている」プリントアウトされます。この文字列内の部分文字列のすべてのインスタンスを印刷する方法
Bob has a cat
Bob has a dog
Chris has a cat
のように見えます
public class finder
{
public static void main(String args[]) throws FileNotFoundException
{
Scanner console = new Scanner (System.in);
String search = console.nextLine();
Scanner s = new Scanner(new File("C:\\Users\\xxxxx\\Desktop\\test.txt"));
while (s.hasNextLine())
{
String temp = s.nextLine();
if (temp.contains(search))
{
System.out.println(temp);
}
}
} //Main
} //Finder
、および:ここでは
は、私がこれまで持っているものですクリスは猫を持っています "。 "Bob"を検索すると、 "Bob have cat"と "Bob have dog"が印刷されます。
私はwhileループに何を入れるべきか分かりません。私はあなたがindexOf文字列コマンドで何かをしなければならないことを知っていますが、私はそれをどのように実装するか分かりません。
なぜindexOfが必要ですか?単語境界に気にしない場合は、string.containsを実行することもできます。 –
また、スキャンしたファイルの内容の前に空白行を入れてもよろしいですか? –
したがって、各行にループして、指定された単語を含む行を出力してください。 – prsvr