文字列内の特定の位置の単語を取得したいと考えています。たとえば、2ワード後、2ワード前など。例えば文字列内の位置を囲む単語を取得する
は、文字列を考えてみます。
String str = "Hello my name is John and I like to go fishing and hiking I have two sisters and one brother.";
String find = "I";
for (int index = str.indexOf("I"); index >= 0; index = str.indexOf("I", index + 1))
{
System.out.println(index);
}
これは言葉は「私は」であるところのインデックスを書き出します。しかし、私はこれらの位置の周りに単語の部分文字列を得ることができるようにしたい。
私は「ジョンと私が好き」と「ハイキングしているのは2つ」を印刷できるようにしたい。
単一の単語列を選択できるだけでなく、 "John and"を検索すると "name is John and I like"が返されます。
これを行うためのすてきでスマートな方法はありますか?
どのようにして、周囲の言葉を決定するのですか? –
はい、それは問題です、どのように正確に2単語前と2単語後が部分文字列になるようにstartPosを取得するのですか? – user1506145