###JTextAreaで、キャレットより下の文字列を検索する方法
少し複雑なことをお聞きしますので、わかりにくいところがあるかと思いますが、どうか多めに見てください。
題目通り、私は「JTextAreaに入っている文字列で、キャレットより下の範囲で文字列を検索する方法」を探しています。
例えば、下に記すような文字列がJTextAreaに入っているとします。ここでは1行目の終わりにキャレットがあるとします。
plainText
1<string name="message0">肉を食べない君が死んだ。</string>|←ここにキャレットがある 2<string name="message1">君は今日の朝、屋上から飛び降りた。</string> 3<string name="message2">それは突然の出来事ではない。</string> 4<string name="message3">君は朽ちてく花と同じように、ゆっくりと灰色に枯れ,そして散った。</string>
このときキャレット以下にある、<string name=
という文字列、ここでは二行目の<string name=
を探しだすのにはどうしたらよいのでしょうか?
というもの、下に示すコードのように普通にtextArea
に入っている文字列に対してindexOf
とやって、も一行目の<string name=
という文字列が検索されてしまいます。そうではなく私は「キャレットの下で初めに出てくる、<string name=
」を探しだしたいのです。
java
1//ダメコード 2String str1 = textArea.getText(); 3String str2 = "<string name="; 4int result = str1.indexOf(str2); 5if (result != -1) { 6 System.out.println(result); 7} else { 8 System.out.println(str2 + "は見つかりませんでした"); 9}
ネットで調べでも、それらしいメソッドはありませんでした。おそらく自分でアルゴリズムを考えないといけないのだと思いますが、「山を登る」のにどのルートを辿っていけばいいのか、皆目見当がつかない状態です。
どうかご助言をお願いします・・・!!!!
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/12/28 23:03