私の目標は、指定されたパターンが配列リストに追加された後の文字を取得することです。私の問題は、このコードでは私はエラーが発生することです。テキストの長さを超えています。文字のarraylistに文字列中のパターンが出現するたびに文字を追加したい
public static ArrayList<Character> getCharsThatFollowPattern (String text, String pattern)
{
ArrayList<Character> charAfterPattern = new ArrayList<Character>();
int patternLength = pattern.length();
int i = 0;
while (i < text.length())
{
charAfterPattern.add(text.charAt(text.indexOf(pattern, i) + patternLength));
i = i + text.indexOf(pattern, i) + patternLength;
}
return charAfterPattern;
}
エラーは何ですか?ところで、デバッガでコードをステップ実行すれば、おそらく自分自身を理解するでしょう。 – dave
あなたは実際に何をしようとしていますか?単純な 'String'(または最悪の場合、' StringBuilder')が基本的に同じことをするとき、 'ArrayList'を扱うことは非常に普通です。 –
Bohemian
私はIndexOutOfBoundsExceptionを取得します。文字列インデックスが範囲外です:7 –